Linux  Mysql数据库安全配置

目录:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

1.修改mysql管理员账号root的密码(2种方法)

2.修改mysql管理员账号root

3.mysql管理员root账号密码遗忘解决办法(2种方法)

4.创建数据库用户(3种方法)

5.mysql数据库权限管理

  本地权限

  网络权限

       撤销权限

       删除用户

一、修改mysql管理员账号root的密码

方法一:shell命令

mysqladmin  -u  root  -p  password  "123"

  Linux Mysql数据库安全配置 Mysql 第1张

2.查看密码存放的表

 Linux Mysql数据库安全配置 Mysql 第2张 

方法二:mysql数据库命令

mysql>use mysql;

mysql>update user set password=password('123') where user='root' and host='localhost';

mysql> FLUSH PRIVILEGES;        #刷新

  Linux Mysql数据库安全配置 Mysql 第3张

测试密码修改是否成功

  Linux Mysql数据库安全配置 Mysql 第4张

二、修改mysql管理员账号root

update mysql.user set user="admin" where user="root" and host="localhost";

flush privileges;

  Linux Mysql数据库安全配置 Mysql 第5张

测试

  Linux Mysql数据库安全配置 Mysql 第6张

三、mysql管理员root账号密码遗忘

方法一:

killall -TERM mysqld

mysqld_safe --skip-grant-tables &

mysql -u admin 

mysql>update user set password=password('123456') where user='admin' and host='localhost';

mysql> FLUSH PRIVILEGES;

MySQL> quit

重新启动MySQL,使用新密码登录

  Linux Mysql数据库安全配置 Mysql 第7张

设置新的密码,并刷新修改

  Linux Mysql数据库安全配置 Mysql 第8张

测试,重启mysqld服务用新的密码登录

  Linux Mysql数据库安全配置 Mysql 第9张

方法二:

修改/etc/my.cnf

在[Mysqld]下添加:

skip-grant-tables  

重启MySQL服务

mysql -u root

mysql>update user set password=password('123') where user='admin' and host='localhost';

mysql> FLUSH PRIVILEGES;

MySQL> quit 

修改/etc/my.cnf  删除skip-grant-tables  

重新启动MySQL,使用新密码登录

  Linux Mysql数据库安全配置 Mysql 第10张

测试

修改/etc/my.cnf  删除skip-grant-tables  

重新启动MySQL,使用新密码登录

  Linux Mysql数据库安全配置 Mysql 第11张

四、创建数据库用户

方法一:

INSERT INTO user(host, user, password, select_priv, insert_priv, update_priv)     VALUES ('localhost', 'yuzly', PASSWORD('yuzly'), 'Y', 'Y', 'Y');

  Linux Mysql数据库安全配置 Mysql 第12张

方法二:

CREATE  USER  'user1'@'localhost'  IDENTIFIED  BY 'yuzly';

  Linux Mysql数据库安全配置 Mysql 第13张

方法三:通过新用户授权创建数据库用户

  Linux Mysql数据库安全配置 Mysql 第14张

五、权限管理

本地权限

1.创建一个zhang用户,只给select权限,然后查看权限

 Linux Mysql数据库安全配置 Mysql 第15张

2.登录zhang用户,mysql -uzhang -pyuzly测试,创建一个表,下图显示被拒绝,当前账户没有create权限

  Linux Mysql数据库安全配置 Mysql 第16张

3.登录管理员账户,给zhangsan账户添加create权限

  Linux Mysql数据库安全配置 Mysql 第17张

4.重新登录zhangsan账户,测试是否具有create权限,下图说明具有create权限

  Linux Mysql数据库安全配置 Mysql 第18张

5.插入一条数据,下图提示没有insert权限

 Linux Mysql数据库安全配置 Mysql 第19张

6.登录管理员账户,给zhangsan账户添加insert权限

  Linux Mysql数据库安全配置 Mysql 第20张

7.重新登录zhangsan账户,测试是否具有insert权限,下图说明具有insert权限

  Linux Mysql数据库安全配置 Mysql 第21张

8.创建的新用户,默认没有任何权限,下图可以看到创建的用户默认是没有任何权限的

  Linux Mysql数据库安全配置 Mysql 第22张

9.登录新创建的用户mysql -uabcd -pyuzly,测试,下图可以看到abcd没有select等权限,用show只能查看mysql系统自带的东西,别的用户创建的数据库等看不到

  Linux Mysql数据库安全配置 Mysql 第23张

远程连接权限

 1.创建一个账户,赋予远程登录权限

grant all on userdb.* to 'abc'@'10.10.10.200' identified by 'yuzly';

flush privileges;

 Linux Mysql数据库安全配置 Mysql 第24张

2.测试,从另一台Linux的Mysql客户端登录验证

  Linux Mysql数据库安全配置 Mysql 第25张

3.下图可以看到,abc用户对userdb数据库具有任何权限,但对别的数据库没有任何权限,例如mysql.user

  Linux Mysql数据库安全配置 Mysql 第26张

4.远程连接限制一个网段

  Linux Mysql数据库安全配置 Mysql 第27张

5.测试

  Linux Mysql数据库安全配置 Mysql 第28张

撤销权限

revoke all on userdb.* from 'zhangsan'@'localhost';

  Linux Mysql数据库安全配置 Mysql 第29张

测试,撤消zhangsan账户的权限是否生效

   Linux Mysql数据库安全配置 Mysql 第30张

删除账户

delete from mysql.user where user="aaa" and host="localhost";

  Linux Mysql数据库安全配置 Mysql 第31张

 

 

 

---------------------------------------------------------------------------------------------------

Mysql数据库基础学习笔记:https://www.cnblogs.com/yuzly/p/10582295.html

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄