Linux系统下——MySQL数据库的安全配置

1. 修改mysql管理员root账号的密码:
  • 方法一:shell命令

[root@root ~]# mysqladmin -u root -p password “123”

Linux系统下——MySQL数据库的安全配置_第1张图片

  • 方法二:mysql命令

mysql>use mysql;

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

mysql> FLUSH PRIVILEGES; #刷新

Linux系统下——MySQL数据库的安全配置_第2张图片

可以发现原密码已经登录不上了,说明密码已经修改成功!!

Linux系统下——MySQL数据库的安全配置_第3张图片

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

方法一:

(1)跳过权限表,然后root用户登录数据库

  • [root@root ~]# killall -TERM mysqld

  • [root@root ~]# mysqld_safe --skip-grant-tables & ——> 跳过权限表

  • [root@root ~]# mysql -u root ——> root用户登录数据库

Linux系统下——MySQL数据库的安全配置_第4张图片
(2)进入数据库之后,就可以修改数据库管理员root的密码。最后,重新启动MySQL,使用新密码登录;

  • mysql>update user set password=password(‘123’) where user=‘root’ and host=‘localhost’;
  • mysql> FLUSH PRIVILEGES;
  • MySQL> quit

Linux系统下——MySQL数据库的安全配置_第5张图片
方法二:

  • 进入:vim /etc/my.cnf
  • 修改/etc/my.cnf
  • 在[Mysqld]下添加:skip-grant-tables

Linux系统下——MySQL数据库的安全配置_第6张图片重新启动MySQL服务

Linux系统下——MySQL数据库的安全配置_第7张图片
进入数据库之后,就可以修改数据库管理员root的密码;(如上)

  • mysql -u root
  • mysql>update user set password=password(‘123’) where user=‘root’ and host=‘localhost’;
  • mysql> FLUSH PRIVILEGES;
  • mysql> quit

重新启动MySQL数据库,使用新密码登录(注意:实验结束后将my.cnf中的跳过策略表注释掉)
Linux系统下——MySQL数据库的安全配置_第8张图片

3. 管理数据库用户

方法一:

命令:mysql> INSERT INTO user(host, user, password, select_priv, insert_priv, update_priv) VALUES (‘localhost’, ‘guest’, PASSWORD(‘guest123’), ‘Y’, ‘Y’, ‘Y’);
Linux系统下——MySQL数据库的安全配置_第9张图片
Linux系统下——MySQL数据库的安全配置_第10张图片

方法二:

命令:mysql> CREATE USER ‘user1’@‘localhost’ IDENTIFIED BY ‘123456’;

Linux系统下——MySQL数据库的安全配置_第11张图片

四、 用户权限

新用户授权(不存在的用户):

  • mysql> GRANT 权限列表 ON 库或表 TO ‘用户名’@‘登录IP或域名’ IDENTIFIED BY ‘123456’;

老用户授权:

  • mysql> GRANT 权限列表 ON 库或表 TO ‘用户名’@‘登录IP或域名’
    .

权限列表:

  • all——所有权限
  • select,insert,update,drop,delete,create等库或表:
  • *.*——所有库,所有表 *

登录IP或域名:

  • %——表示没有限制,在任何主机都可以登录
  • 192.168.120.%——表示在192.168.120.0网段可以登录
1、本地权限

mysql> GRANT select ON fruitsdb.* TO ‘user2’@‘localhost’ IDENTIFIED BY ‘123456’;

Linux系统下——MySQL数据库的安全配置_第12张图片
mysql>SHOW GRANTS FOR ‘user2’@‘localhost’;

Linux系统下——MySQL数据库的安全配置_第13张图片
mysql> CREATE USER ‘user3’@‘localhost’ IDENTIFIED BY ‘123456’;

Linux系统下——MySQL数据库的安全配置_第14张图片
mysql>SHOW GRANTS FOR ‘user3’@‘localhost’;

Linux系统下——MySQL数据库的安全配置_第15张图片

  • mysql -u user2 -p
  • mysql> SELECT * FROM fruitsdb.fruits;——> (验证权限)
  • mysql>quit;

Linux系统下——MySQL数据库的安全配置_第16张图片

  • [root@root ~]# mysql -u user3 -p
  • mysql> SELECT * FROM fruitsdb.fruits;(再次验证权限)
  • mysql>quit;

Linux系统下——MySQL数据库的安全配置_第17张图片

2、网络连接权限;

切记:必须以root用户登录mysql;

创建用户:

mysql>GRANT all ON fruitsdb. TO ‘user4’@’%’ IDENTIFIED BY ‘123456’;*

Linux系统下——MySQL数据库的安全配置_第18张图片mysql>SHOW GRANTS FOR ‘user4’@’%’;
Linux系统下——MySQL数据库的安全配置_第19张图片
从另一台Linux的MySQL客户端登录验证;

安装MySQL客户端,并启动mysql服务;

Linux系统下——MySQL数据库的安全配置_第20张图片关掉服务器端的防火墙和禁用seLinux

在这里插入图片描述
在客户端进行登录验证;

mysql -h 192.168.5.116 -P 3306 -u wangwu -p123456

Linux系统下——MySQL数据库的安全配置_第21张图片

  • mysql> use fruitsdb;
  • mysql> show tables

Linux系统下——MySQL数据库的安全配置_第22张图片
mysql> SELECT * FROM fruitsdb.fruits;

Linux系统下——MySQL数据库的安全配置_第23张图片

  • mysql> CREATE TABLE tbserver (num INT NOT NULL);
  • mysql> INSERT INTO tbserver VALUES(6),(14),(11),(20);
  • mysql> select * from tbserver;

Linux系统下——MySQL数据库的安全配置_第24张图片

  • mysql> delete from tbserver where num=6;
  • mysql> select * from tbserver;

Linux系统下——MySQL数据库的安全配置_第25张图片

  • mysql> show tables;
  • mysql> drop table tbserver;
  • mysql> show tables;
  • mysql>quit;

Linux系统下——MySQL数据库的安全配置_第26张图片3)撤销权限

  • mysql>REVOKE all ON fruitsdb. FROM ‘user4’@’%’;*
  • mysql>SHOW GRANTS FORM ‘user4’@’%’;

Linux系统下——MySQL数据库的安全配置_第27张图片
从另一台Linux的Mysql客户端登录验证!

Linux系统下——MySQL数据库的安全配置_第28张图片
对fruitsdb库没有操作权限;

Linux系统下——MySQL数据库的安全配置_第29张图片

你可能感兴趣的:(Linux系统下——MySQL数据库的安全配置)