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创建连接用户并授权

mysql 8.0 创建新的数据库、用户并授权,以及相关查看并删除操作

mysql 创建用户及授权

Mysql DBA 高级运维学习笔记-创建mysql用户及授权的多种方法实战

Mysql 5.6创建新用户并授权指定数据库相应权限

mysql创建新用户并授权访问操作该数据库