MySQL安装和安全加固

简单介绍MySQL的包安装方式和安全加固

1. MySQL安装和基本使用

1.1. MySQL系列

1.1.1. MySQL 的三大主要分支

· mysql

· mariadb

· percona Server

1.1.2. 官方网址

· https://www.mysql.com/

· http://mariadb.org/

· https://www.percona.com

1.1.3. 官方文档

· https://dev.mysql.com/doc/

· https://mariadb.com/kb/en/

· https://www.percona.com/software/mysql-database/percona-server

1.1.4. 版本演变

· MySQL:5.1 –> 5.5 –> 5.6 –> 5.7 –>8.0

· MariaDB:5.1 –>5.5 –>10.0–> 10.1 –> 10.2 –> 10.3 –> 10.4 –> 10.5

1.2. MySQL 安装方式介绍和快速安装

1.2.1. 安装方式介绍

· 程序包管理器管理的程序包

· 源代码编译安装

· 二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用

1.2.2. RPM包安装MySQL

CentOS 安装光盘

• 项目官方:

https://downloads.mariadb.org/mariadb/repositories/
https://dev.mysql.com/downloads/

• 国内镜像:

https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/

CentOS 8:安装光盘直接提供

• mysql-server:8.0

• mariadb-server : 10.3.17

CentOS 7:安装光盘直接提供

• mariadb-server:5.5 服务器包

• mariadb 客户端工具包

CentOS 6

• mysql-server:5.1 服务器包

• mysql 客户端工具包

1.2.2.1 CentOS 7 利用yum源安装MySQL5.7

• 直接Centos7安装mysql,安装的是mariadb无法安装MySql,如需安装可以自己配置一个yum源配置文件,然后进行下载

• 配置yum源

[root@centos7 ~]#tee /etc/yum.repos.d/mysql.repo <<EOF
[mysql]
name=mysql5.7
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/
gpgcheck=0
EOF

• 再次安装

• 下载地址在repo文件中已经设置了,这里指明安装包即可

• 启动服务

• 登录mysql

[root@centos7 ~]# mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

• 首次登录需要输入密码,但是我们没有设置过密码,这个密码是系统自动生成的存放在日志中的

[root@centos7 ~]# grep 'temporary password' /var/log/mysqld.log
2022-01-06T15:19:00.748800Z 1 [Note] A temporary password is generated for root@localhost: IuP1?h<rc%l8

• 获取密码再次登录数据库

• -u指定用户名

• -p指定密码,因为密码为字符串所以加上引号

• 进行操作

• 提示需要修改密码才能进行操作

• 修改密码

alter user root@'localhost' identified by 'hcie@SX123';         #root@localhost是固定用法,identified by后写入新密码

• 注意:密码需要符合策略要求,否则会出现报错

• 如果一开始知道centos7中有这种安全机制会先给一个随机密码然后进行修改可以进行如下操作

mysqladmin -uroot -p'pe%b#S8ah)j-' password 'hcie@SX123'

1.2.2.2 CentOS 7 利用yum源安装Mariadb

• 可以直接安装,因为默认的就是mariadb

• 如果觉得版本不合适可以通过设置yum源进行安装和上面mysql的流程一样。不过没有随机密码

1.2.2.3 Ubuntu 利用默认仓库安装 MySQL 5.7

1.2.3. 初始化脚本提高安全性

运行脚本:mysql_secure_installation

•   设置数据库管理员root口令
•   禁止root远程登录
•   删除anonymous用户帐号
•   删除test数据库

针对MySQL5.6前版本进行安全加固

• 先安装mysql5.6,安装流程和上述的安装5.7一样,配置yum源然后进行安装即可

• 进行登录

• 不用指定用户随便写一个用户,不用输入密码。无需任何认证就直接登录进来了。极度不安全!!

• 此时可以通过安装后软件自带的一个脚本进行安全加固

• 直接运行设置一下密码,然后一直y即可

• 加固后效果

• 只有指定了正确的用户名密码才可以登录