1.使用root登录 mysql -h 127.0.0.1 -u root -p
2.创建新数据库 create database mydb;
删除数据库 drop database [database name];
3.查看所有数据库 show databases;
4.创建用户 create user test@’%’;
注: %表示所有地址;@后面可以接具体ip地址 ,如@‘192.168.0.3’、@‘localhost’
创建用户的同时可以设置密码 CREATE USER ‘username’@’%’ IDENTIFIED BY ‘password’;
5.修改用户名的密码
注:mysql5.7之前,使用update mysql.user set password=password(‘123456′) where user=’test’;
mysql5.7之后,使用update mysql.user set authentication_string=password(‘123456′) where user=’test’;
6.授权grant all privileges on mydb.* to ‘test’@’%’ with grant option;
表示授予test访问数据库mydb的权限,启用test用户可以登录任何机器;
注:若想让用户test看到其它数据库,可以继续执行上面的命令,只需更改数据库名
grant all privileges on mydb.* to ‘test’@’192.168.3.100’ with grant option;
代表允许从用户test从192.168.3.100机器连接mysql的mydb数据库
grant all privileges on *.* to ‘用户名’@’主机名’ identified by “密码” with grant option;
注:with grant option 这个选项表示该用户可以将自己拥有的权限授权给别人
*.* 中前面的*号用来指定数据库名,后面的*号用来指定表名。
to 表示将权限赋予某个用户。
identified by 指定用户的登录密码。
例如:我要创建一个test10用户,它的密码也是test10,他只能访问db10数据库,操作如下:
CREATE USER test10@'%';GRANT ALL PRIVILEGES ON db10.* TO 'test10'@'%' IDENTIFIED BY "test10" WITH GRANT OPTION;FLUSH PRIVILEGES;
再如,我想让test10用户只能查看db10数据库,操作如下
CREATE USER test10@'%';GRANT SELECT ON db10.* TO 'test10'@'%' IDENTIFIED BY "test10" WITH GRANT OPTION;FLUSH PRIVILEGES;
7.授权后刷新系统权限表 flushprivileges;
8.查看当前用户的权限 show grants;
8.1查看某个用户权限 show grants for ‘username’@’%’;
9.使用数据库use mydb;
10.查询sql select * from t1;