一、安装环境
Cent OS 7.9 + MySQL 5.7-39
二、安装前准备
(一)环境准备
如果曾经安装过MySQL,请使用rpm -qa | grep mysql查看是否有残留,如果有,则使用rpm -e --nodeps [-file-name]逐个删除
(二)安装包准备
可以直接从MySQL官网下载安装包,选择以下安装包
下载后上传到服务器,或者直接在下载页面,右键复制下载链接,使用wget命令下载到服务器上
若提示没有wget命令,可以直接使用yum命令安装
wgt https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.39-1.el7.x86_64.rpm-bundle.tar
下载完成后,查看下载的包
-rw-r--r--. 1 root root 556165120 10月 6 11:29 mysql-5.7.39-1.el7.x86_64.rpm-bundle.tar
先在当前目录下创建一个文件夹,以便解包时可以直接解包到里边
mkdir mysql-5.7.39
使用tar命令解包到当前文件夹
tar -xf mysql-5.7.39-1.el7.x86_64.rpm-bundle.tar -C ./mysql-5.7.39
进入mysql-5.7.39
cd mysql-5.7.39
解包后的文件
[root@Linux mysql-5.7.39]# ll
总用量 543140
-rw-r--r--. 1 7155 31415 29107248 6月 13 14:07 mysql-community-client-5.7.39-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 318320 6月 13 14:07 mysql-community-common-5.7.39-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 4383060 6月 13 14:07 mysql-community-devel-5.7.39-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 48149356 6月 13 14:07 mysql-community-embedded-5.7.39-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 23316500 6月 13 14:07 mysql-community-embedded-compat-5.7.39-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 133181836 6月 13 14:07 mysql-community-embedded-devel-5.7.39-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 2717964 6月 13 14:07 mysql-community-libs-5.7.39-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 1264480 6月 13 14:07 mysql-community-libs-compat-5.7.39-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 186717812 6月 13 14:08 mysql-community-server-5.7.39-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 126996412 6月 13 14:08 mysql-community-test-5.7.39-1.el7.x86_64.rpm
三、安装
解包后有10个prm包,其实这里边我们只用到了4个,分别是client、common、libs、server,需要按照顺序分别安装
1、安装顺序
按照以下顺序安装rpm包:
rpm -ivh mysql-community-common-5.7.39-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.39-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.39-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.39-1.el7.x86_64.rpm
我在安装libs时,出现了以下的提示
[root@Linux mysql-5.7.39]# rpm -ih mysql-community-libs-5.7.39-1.el7.x86_64.rpm
警告:mysql-community-libs-5.7.39-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
错误:依赖检测失败:
mysql-community-common(x86-64) >= 5.7.9 被 mysql-community-libs-5.7.39-1.el7.x86_64 需要
mariadb-libs 被 mysql-community-libs-5.7.39-1.el7.x86_64 取代
这是因为有mariadb-libs残留,删除即可
先使用rpm -qa | grep mariadb-libs搜索,再使用rpm -e --nodeps删除
[root@Linux mysql-5.7.39]# rpm -qa | grep mariadb-libs
mariadb-libs-5.5.68-1.el7.x86_64
[root@Linux mysql-5.7.39]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
这时需要再安装一遍common,然后安装libs
安装server时缺少net-tools依赖,直接使用yum -install安装即可
yum install -y net-tools
安装完成后,使用 systemctl start mysqld.service启动MySQL,没有报错,就表示安装成功
四、配置
(一)配置默认编码
编辑/etc/my.cnf文件
在对应的位置添加以下内容
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
重启MySQL服务:systemctl restart mysqld
(二)[可选]绕过密码登录
在[mysqld]下添加skip-grant-tables
添加以上内容后,保存、退出。这时再登录,需要输入密码时直接回车就可以进入到MySQL中了
(三)获取初始密码
如果不想绕过密码登录,就需要输入密码登录。初始密码可以通过grep 'temporary password' /var/log/mysqld.log获取
此时,root@localhost:之后的内容就是初始密码,登录root用户,使用该密码就可以成功登录了
(四)修改默认密码
使用默认密码登录MySQL,这个时候进行任何操作都会有以下提示
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
这是因为我们用初始密码登录,需要修改密码后才能操作
根据提示,我们可以使用ALTER USER命令来修改当前用户的密码
ALTER USER root@localhost identified by '你的新密码';
1、临时修改密码安全策略
如果新密码过于简单,会出现以下提示
mysql> alter user root@localhost identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这是因为新密码不符合安全策略导致的,这时候我们可以通过SHOW VARIABLES LIKE 'validate_password%';查看当前的密码策略
如果仍然出现"ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement."提示,就要先改密码再查看密码策略
我们先把密码改成符合安全策略的密码,如:"Root_root@123"
改过密码后,再查看当前的密码策略,如下:
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
| 参数 | 说明 |
| validate_password_check_user_name | 用户名检测,检测是否重名(不常用) |
| validate_password_dictionary_file | 字典文件,启动后必须要满组所使用字典的规则才能满足密码的条件(不常用) |
| validate_password_length | 密码最短长度,如果数值小于4,则最短为4位,只有大于等于4时,位数才会生效 |
| validate_password_mixed_case_count | 密码中英文字符大小写的个数,当密码策略是MEDIUM或以上时生效。 |
| validate_password_number_count | 密码中至少含有的数字个数,当密码策略是MEDIUM或以上时生效。 |
| validate_password_policy |
密码强度等级检查,使用LOW、MEDIUM、STRONG表示,也可以用0、1、2表示 0:只检查密码长度 1、检查密码长度、数字、大小写、特殊字符 2、检查密码长度、数字、大小写、特殊字符、字典文件 |
| validate_password_special_char_count | 密码中非英文数字等特殊字符的个数,当密码策略是MEDIUM或以上时生效。 |
由以上表格可以看出,我们只需要改validate_password_length和validate_password_policy两项的值即可
分别修改validate_password_length和validate_password_policy的值,validate_password_length不修改也可以
set global validate_password_length=6;
set global validate_password_policy=LOW;
这时我们再把密码修改为简单密码,就不会有提示了。
2、永久修改密码安全策略
以上修改的密码安全策略只是临时的,MySQL服务重启后就会恢复成默认值,若想永久保留以上的策略,就需要在my.cnf文件的[mysqld]下添加以下内容:
validate_password_policy=0
validate_password_length=0
添加后保存,重启MySQL,密码安全策略就不会恢复成默认了
(五)远程登录
MySQL安装完后,默认是只能在本地登录的,若想要实现远程登录,需要有以下2个条件:
1、开启3306端口
开启3306端口方法一:关闭防火墙,命令:systemctl stop firewalld.service,此时只是临时关闭了防火墙,若要永久关闭,还需要执行systemctl disable firewalld.service命令,来禁止防火墙开机自启。(systemctl enable firewalld开启防火墙自启)
开放3306端口方法二:单独打开端口。如果防火墙处于关闭状态,第二种方法直接忽略即可。
首先看一下都有哪些端口是开放的:临时开放的端口:firewall-cmd --list-ports永久开放的端口:firewall-cmd --list-ports --permanent
添加临时端口号:firewall-cmd --add-port=3306/tcp,添加永久端口号:firewall-cmd --add-port=3306/tcp --permanent
关闭临时端口号:firewall-cmd --remove-port=3306/tcp,关闭临时端口号:firewall-cmd --remove-port=3306/tcp --permanent
配置完成后,重启防火墙使配置生效
2、允许用户在其他IP上登录
在登录MySQL后,在MySQL库中有一张user表,表中的root用户就是我们登录的root帐号,此时root的host值是localhost,只需要把localhost改成 % 即可,%表示在所有的IP上都可以登录
本文介绍如何在CentOS7.9环境下安装MySQL5.7,并详细阐述安装步骤、配置过程及常见问题解决方法。
3237

被折叠的 条评论
为什么被折叠?



