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

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

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

在这里插入图片描述

  • 方法二:mysql命令

mysql>use mysql;

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

mysql> FLUSH PRIVILEGES; #刷新

在这里插入图片描述

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

在这里插入图片描述

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

方法一:

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

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

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

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

在这里插入图片描述
(2)进入数据库之后,就可以修改数据库管理员root的密码。最后,重新启动MySQL,使用新密码登录;

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

在这里插入图片描述
方法二:

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

在这里插入图片描述重新启动MySQL服务

在这里插入图片描述
进入数据库之后,就可以修改数据库管理员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中的跳过策略表注释掉)
在这里插入图片描述

3. 管理数据库用户
方法一:

命令:mysql> INSERT INTO user(host, user, password, select_priv, insert_priv, update_priv) VALUES (‘localhost’, ‘guest’, PASSWORD(‘guest123’), ‘Y’, ‘Y’, ‘Y’);
在这里插入图片描述
在这里插入图片描述

方法二:

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

在这里插入图片描述

四、 用户权限

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

  • 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’;

在这里插入图片描述
mysql>SHOW GRANTS FOR ‘user2’@‘localhost’;

在这里插入图片描述
mysql> CREATE USER ‘user3’@‘localhost’ IDENTIFIED BY ‘123456’;

在这里插入图片描述
mysql>SHOW GRANTS FOR ‘user3’@‘localhost’;

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

2、网络连接权限;

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

创建用户:

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

在这里插入图片描述mysql>SHOW GRANTS FOR ‘user4’@’%’;
在这里插入图片描述
从另一台Linux的MySQL客户端登录验证;

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

在这里插入图片描述关掉服务器端的防火墙和禁用seLinux

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

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

在这里插入图片描述

  • mysql> use fruitsdb;
  • mysql> show tables

在这里插入图片描述
mysql> SELECT * FROM fruitsdb.fruits;

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述3)撤销权限

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

在这里插入图片描述
从另一台Linux的Mysql客户端登录验证!

在这里插入图片描述
对fruitsdb库没有操作权限;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值