Linux Mysql数据库安全配置

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: Linux Mysql数据库安全配置目录:1.修改mysql管理员账号root的密码(2种方法)2.修改mysql管理员账号root3.mysql管理员root账号密码遗忘解决办法(2种方法)4.

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"

  

2.查看密码存放的表

  

方法二:mysql数据库命令

mysql>use mysql;

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

mysql> FLUSH PRIVILEGES; #刷新

  

测试密码修改是否成功

  

二、修改mysql管理员账号root

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

flush privileges;

  

测试

  

三、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,使用新密码登录

  

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

  

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

  

方法二:

修改/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,使用新密码登录

  

测试

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

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

  

四、创建数据库用户

方法一:

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

  

方法二:

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

  

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

  

五、权限管理

本地权限

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

 

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

  

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

  

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

  

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

 

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

  

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

  

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

  

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

  

远程连接权限

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

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

flush privileges;

 

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

  

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

  

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

  

5.测试

  

撤销权限

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

  

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

  

删除账户

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

  

原文地址https://www.cnblogs.com/yuzly/p/10583808.html

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11天前
|
安全 Ubuntu Java
Linux配置使用篇
Linux配置使用篇
|
23天前
|
存储 负载均衡 索引
linux7安装elasticsearch-7.4.0集群配置
linux7安装elasticsearch-7.4.0集群配置
109 0
|
10天前
|
关系型数据库 MySQL Linux
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
17 0
|
10天前
|
SQL 缓存 关系型数据库
mysql性能优化-慢查询分析、优化索引和配置
mysql性能优化-慢查询分析、优化索引和配置
76 0
|
11天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
16天前
|
缓存 关系型数据库 MySQL
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
|
2天前
|
存储 关系型数据库 MySQL
Linux | MySQL基础
Linux | MySQL基础
|
3天前
|
关系型数据库 MySQL Linux
Linux联网安装MySQL Server
Linux联网安装MySQL Server
13 0
|
21天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
22天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
18 0