2023年3月30日
MySQL 5.7 RPM 安装部署指南
数据库 · MySQL
详细介绍如何在 CentOS 7 上通过 RPM 包安装 MySQL 5.7,包括卸载冲突包、安装配置、密码重置等
上传安装包
# 上传略过 cd /opt/softs/mysql5 # 需要以下安装包 mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar mysql-community-client-5.7.28-1.el7.x86_64.rpm mysql-community-common-5.7.28-1.el7.x86_64.rpm mysql-community-devel-5.7.28-1.el7.x86_64.rpm mysql-community-embedded-5.7.28-1.el7.x86_64.rpm mysql-community-embedded-compat-5.7.28-1.el7.x86_64.rpm mysql-community-embedded-devel-5.7.28-1.el7.x86_64.rpm mysql-community-libs-5.7.28-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm mysql-community-server-5.7.28-1.el7.x86_64.rpm mysql-community-test-5.7.28-1.el7.x86_64.rpm
# 上传略过 cd /opt/softs/mysql5 # 需要以下安装包 mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar mysql-community-client-5.7.28-1.el7.x86_64.rpm mysql-community-common-5.7.28-1.el7.x86_64.rpm mysql-community-devel-5.7.28-1.el7.x86_64.rpm mysql-community-embedded-5.7.28-1.el7.x86_64.rpm mysql-community-embedded-compat-5.7.28-1.el7.x86_64.rpm mysql-community-embedded-devel-5.7.28-1.el7.x86_64.rpm mysql-community-libs-5.7.28-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm mysql-community-server-5.7.28-1.el7.x86_64.rpm mysql-community-test-5.7.28-1.el7.x86_64.rpm
# 上传略过 cd /opt/softs/mysql5 # 需要以下安装包 mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar mysql-community-client-5.7.28-1.el7.x86_64.rpm mysql-community-common-5.7.28-1.el7.x86_64.rpm mysql-community-devel-5.7.28-1.el7.x86_64.rpm mysql-community-embedded-5.7.28-1.el7.x86_64.rpm mysql-community-embedded-compat-5.7.28-1.el7.x86_64.rpm mysql-community-embedded-devel-5.7.28-1.el7.x86_64.rpm mysql-community-libs-5.7.28-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm mysql-community-server-5.7.28-1.el7.x86_64.rpm mysql-community-test-5.7.28-1.el7.x86_64.rpm
卸载 mariadb 防止冲突
yum remove mariadb* -y
yum remove mariadb* -y
yum remove mariadb* -y
安装
# 按照顺序 依次 安装必要库、安装rpm包 yum install net-tools -y rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
# 按照顺序 依次 安装必要库、安装rpm包 yum install net-tools -y rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
# 按照顺序 依次 安装必要库、安装rpm包 yum install net-tools -y rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
启动
# 启动 MySQL 服务 systemctl start mysqld # 开机自动启动 MySQL 服务 systemctl enable mysqld # 验证 MySQL 服务状态 systemctl status mysqld # 查找 MySQL 默认密码 grep 'temporary password' /var/log/mysqld.log # 使用默认密码登录 MySQL mysql -u root -p # 关闭密码复杂度检测 # UNINSTALL PLUGIN validate_password; SET GLOBAL validate_password_policy=LOW; SET GLOBAL validate_password_length=6; # 更改 MySQL 密码 alter user 'root'@'localhost' identified by '123456'; # 刷新权限 FLUSH PRIVILEGES; # 退出 MySQL exit # 使用新密码登录 MySQL mysql -u root -p # 允许远程连接 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; # 刷新权限 FLUSH PRIVILEGES; # 退出 MySQL exit # 开放防火墙端口 或者直接关闭 firewall-cmd --permanent --zone=public --add-port=3306/tcp firewall-cmd --reload
# 启动 MySQL 服务 systemctl start mysqld # 开机自动启动 MySQL 服务 systemctl enable mysqld # 验证 MySQL 服务状态 systemctl status mysqld # 查找 MySQL 默认密码 grep 'temporary password' /var/log/mysqld.log # 使用默认密码登录 MySQL mysql -u root -p # 关闭密码复杂度检测 # UNINSTALL PLUGIN validate_password; SET GLOBAL validate_password_policy=LOW; SET GLOBAL validate_password_length=6; # 更改 MySQL 密码 alter user 'root'@'localhost' identified by '123456'; # 刷新权限 FLUSH PRIVILEGES; # 退出 MySQL exit # 使用新密码登录 MySQL mysql -u root -p # 允许远程连接 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; # 刷新权限 FLUSH PRIVILEGES; # 退出 MySQL exit # 开放防火墙端口 或者直接关闭 firewall-cmd --permanent --zone=public --add-port=3306/tcp firewall-cmd --reload
# 启动 MySQL 服务 systemctl start mysqld # 开机自动启动 MySQL 服务 systemctl enable mysqld # 验证 MySQL 服务状态 systemctl status mysqld # 查找 MySQL 默认密码 grep 'temporary password' /var/log/mysqld.log # 使用默认密码登录 MySQL mysql -u root -p # 关闭密码复杂度检测 # UNINSTALL PLUGIN validate_password; SET GLOBAL validate_password_policy=LOW; SET GLOBAL validate_password_length=6; # 更改 MySQL 密码 alter user 'root'@'localhost' identified by '123456'; # 刷新权限 FLUSH PRIVILEGES; # 退出 MySQL exit # 使用新密码登录 MySQL mysql -u root -p # 允许远程连接 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; # 刷新权限 FLUSH PRIVILEGES; # 退出 MySQL exit # 开放防火墙端口 或者直接关闭 firewall-cmd --permanent --zone=public --add-port=3306/tcp firewall-cmd --reload
重置MySQL密码
如果您忘记了MySQL root用户的密码,可以通过以下步骤进行重置:
停止MySQL服务:
systemctl stop mysqld
systemctl stop mysqld
systemctl stop mysqld
在 /etc/my.cnf添加 skip-grant-tables 然后启动mysql
systemctl start mysqld
systemctl start mysqld
systemctl start mysqld
在另一个终端窗口中,使用mysql命令连接到MySQL服务器,无需提供密码:
mysql -u root
mysql -u root
mysql -u root
在MySQL命令行中,使用UPDATE语句修改root用户的密码:
UPDATE mysql.user SET authentication_string = PASSWORD('123456') WHERE User = 'root';
UPDATE mysql.user SET authentication_string = PASSWORD('123456') WHERE User = 'root';
UPDATE mysql.user SET authentication_string = PASSWORD('123456') WHERE User = 'root';
将123456替换为需要设置的新密码
FLUSH PRIVILEGES;
FLUSH PRIVILEGES;
FLUSH PRIVILEGES;
重启
# 删掉 /etc/my.conf 的skip-grant-tables systemctl stop mysqld systemctl start mysqld
# 删掉 /etc/my.conf 的skip-grant-tables systemctl stop mysqld systemctl start mysqld
# 删掉 /etc/my.conf 的skip-grant-tables systemctl stop mysqld systemctl start mysqld