一、MYSQL常用命令
下面命令登录到MySQL后进行操作
- 显示服务上当前存在的所有数据库;
show databases;
- 创建新的数据库discuz;
create database discuz
- 删除discuz数据库;
drop database discuz;
- 选择discuz数据库
use discuz
- 现在当前数据库下所有的表
show tables
- 创建user表
create table user(name varchar(20),sex char(1));
- 显示user的表结构
describe user
- 删除user表
drop table user
- 向user插入数据
insert into user values("admin","m");
- 清空数据表user,如有自增id,从1重新开始,此处不同于delete from user;
truncate table user;
- 导入.sql文本到数据库中
source ./bak/discuz_20150210.sql
- 修改root账号的密码,
update user set Password = PASSWORD("741852") WHERE User = 'root';
flush privileges;别忘了更新权限。
- 查看用户权限
show grants for root@localhost 例:show grants for woodie@127.0.0.1
二、Grant的用法
- 增加用户或权限;
grant 权限 on 数据库.* to 用户名@'登录主机' identified by '密码'
- 权限:
常用总结, ALL/ALTER/CREATE/DROP/SELECT/UPDATE/DELETE
- 数据库:
*.* 表示所有库的所有表
test.* 表示test库的所有表
test.test_table 表示test库的test_table表
- 用户名:mysql账户名
- 登陆主机:
允许登陆mysql server的客户端ip
‘%’表示所有ip
‘localhost’ 表示本机
‘192.168.10.2’ 特定IP
- 密码:账户对应的登陆密码
举例:
例:grant usage on *.* to taisha@"%" identified by "123456" 例:grant select,update on discuz.* to woodie@127.0.0.1 identified by "123456";
三、权限详解
- 数据库/数据表/数据列权限
Alter: 修改已存在的数据表(例如增加/删除列)和索引。 Create: 建立新的数据库或数据表。 Delete: 删除表的记录。 Drop: 删除数据表或数据库。 INDEX: 建立或删除索引。 Insert: 增加表的记录。 Select: 显示/搜索表的记录。 Update: 修改表中已存在的记录。
- 全局管理MySQL用户权限
file: 在MySQL服务器上读写文件。 PROCESS: 显示或杀死属于其它用户的服务线程。 RELOAD: 重载访问控制表,刷新日志等。 SHUTDOWN: 关闭MySQL服务。
- 特别的权限
ALL: 允许做任何事(和root一样)。 USAGE: 只允许登录--其它什么也不允许做。
四、MySQL其他操作
使用#which mysql,查找mysql命令的路径/usr/bin/mysql,进入cd /usr/bin/mysql,进行如下操作.
mysqldump -u root -p discuz user> ~/bak/discuz_user_20150210.sql
导出discuz库中user表到bak下.通常用于备份,mysqldump的详细用法这里不介绍,在mysql外操作。
mysql -h主机地址 -u用户名 -p用户密码
远程连接Mysql,前提是对方主机允许访问。