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,java,开发语言)