linux创建mysql新用户及授权
Posted 放牛的小牧童
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux创建mysql新用户及授权相关的知识,希望对你有一定的参考价值。
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.授权后刷新系统权限表 flush privileges;
8.查看当前用户的权限 show grants;
8.1查看某个用户权限 show grants for 'username'@'%' ;
9.使用数据库 use mydb;
10.查询sql select * from t1;
以上是关于linux创建mysql新用户及授权的主要内容,如果未能解决你的问题,请参考以下文章
mysql 8.0 创建新的数据库、用户并授权,以及相关查看并删除操作