欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Linux Mysql数据库安全配置

程序员文章站 2022-05-27 22:33:19
Linux Mysql数据库安全配置 目录: 1.修改mysql管理员账号root的密码(2种方法) 2.修改mysql管理员账号root 3.mysql管理员root账号密码遗忘解决办法(2种方法) 4.创建数据库用户(3种方法) 5.mysql数据库权限管理 本地权限 网络权限 撤销权限 删除用 ......

 linux  mysql数据库安全配置

目录:

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数据库安全配置

2.查看密码存放的表

 Linux  Mysql数据库安全配置 

方法二:mysql数据库命令

mysql>use mysql;

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

mysql> flush privileges;        #刷新

  Linux  Mysql数据库安全配置

测试密码修改是否成功

  Linux  Mysql数据库安全配置

二、修改mysql管理员账号root

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

flush privileges;

  Linux  Mysql数据库安全配置

测试

  Linux  Mysql数据库安全配置

三、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数据库安全配置

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

  Linux  Mysql数据库安全配置

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

  Linux  Mysql数据库安全配置

方法二:

修改/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数据库安全配置

测试

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

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

  Linux  Mysql数据库安全配置

四、创建数据库用户

方法一:

insert into user(host, user, password, select_priv, insert_priv, update_priv)     values ('localhost', 'yuzly', password('yuzly'), 'y', 'y', 'y');

  Linux  Mysql数据库安全配置

方法二:

create  user  'user1'@'localhost'  identified  by 'yuzly';

  Linux  Mysql数据库安全配置

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

  Linux  Mysql数据库安全配置

五、权限管理

本地权限

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

 Linux  Mysql数据库安全配置

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

  Linux  Mysql数据库安全配置

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

  Linux  Mysql数据库安全配置

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

  Linux  Mysql数据库安全配置

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

 Linux  Mysql数据库安全配置

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

  Linux  Mysql数据库安全配置

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

  Linux  Mysql数据库安全配置

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

  Linux  Mysql数据库安全配置

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

  Linux  Mysql数据库安全配置

远程连接权限

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

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

flush privileges;

 Linux  Mysql数据库安全配置

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

  Linux  Mysql数据库安全配置

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

  Linux  Mysql数据库安全配置

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

  Linux  Mysql数据库安全配置

5.测试

  Linux  Mysql数据库安全配置

撤销权限

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

  Linux  Mysql数据库安全配置

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

   Linux  Mysql数据库安全配置

删除账户

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

  Linux  Mysql数据库安全配置

 

 

 

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

mysql数据库基础学习笔记: