1.首先登陆root账户
[root@hecs-219255 ~]# mysql -uroot -p
首先在Xshell客户端登陆linux,然后输入mysql命令进行登陆。
2.创建子账户
创建一个用户名为test1,密码为123456的子账号,有两种方法,分别为:
CREATE USER 'test1'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'test1'@'%' IDENTIFIED BY '123456';
以上两种方法任选其一即可,但是两种方法有区别,第一个方法创建好子账号之后,这个子账号只能在本地登陆,不能进行远程登陆;第二种方法,既可以进行本地登陆,也可以进行远程登陆。
综上:创建子账号用第二个方法进行创建
以上账户就创建好了,可以尝试进行登陆测试,接下来的操作,就是给子账户授权可以操作的数据库。
测试操作:
1.退出mysql的root账户
mysql> quit;
2.使用刚刚创建的子账户进行登陆
[root@hecs-219255 ~]# mysql -utest1 -p123456
出现以上界面表示子账户创建成功。
3.给子账户授权数据库权限
(1) 给子账户授予权限,需要在刚才创建子账户的用户进行授权操作,即刚才的root账户
[root@hecs-219255 ~]# mysql -uroot -p
(2) 创建一个测试数据库testDemo
mysql> create database testDemo default charset utf8 collate utf8_general_ci;
(3)添加权限
①授权test1子账户对testDemo数据库所有操作权限
mysql> grant all privileges on testDemo.* to "test1"@"%" identified by "123456";
“test1”@“%”:表示不仅对本地有效而且对远程也有效
“test1”@“localhost”:表示只对本地用户有效
②如果不想授权所有权限,只想授权查询和更新也可以
mysql> grant select,update on testDemo.* to "test"@"%" identified by "123456";
③赋予权限后要刷新系统权限表,使配置生效
mysql> flush privileges;
注意:mysql8.0之后赋予权限命令有变化,如下
mysql> grant all privileges on testDemo.* to 'test'@'%';
4. 删除子账户及权限
(1)删除远程test子账号,本地test账号仍可以使用
mysql> drop user test@"%";
(2)删除本地test账号
mysql> drop user test@"localhost";