安装MySQL的步骤(无报错版本)--11步
1.首先:停止MySQL服务(如果存在)
sudo systemctl stop mysqld 2>/dev/null
2.卸载MySQL相关软件包
sudo yum remove -y mysql* mysql-community*
3.删除MySQL相关文件和目录
sudo rm -rf /var/lib/mysql
sudo rm -rf /var/log/mysqld.log
sudo rm -rf /etc/my.cnf
sudo rm -rf /etc/my.cnf.d/
4.下载 MySQL 5.7 的 YUM 源配置文件
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm -O /tmp/mysql57.rpm
5.安装 MySQL YUM 源
sudo rpm -ivh /tmp/mysql57.rpm
rm -f /tmp/mysql57.rpm
6.验证 YUM 源是否生效
echo "检查YUM源..."
yum repolist enabled | grep mysql
7.安装 MySQL 5.7 服务器
echo "正在安装MySQL 5.7..."
sudo yum install -y mysql-community-server 如果报错,说密钥的问题导致不能正常下载
就在后面再加一个--nogpgcheck,表示跳过密钥
sudo yum install -y mysql-community-server --nogpgcheck
8.启动 MySQL 并设置开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld
9.检查服务状态
echo "检查MySQL服务状态..."
sudo systemctl status mysqld --no-pager
10.获取临时密码并修改
sudo grep 'temporary password' /var/log/mysqld.log
输出类似:
Note\] A temporary password is generated for root@localhost: Abc123def456!
记下这个临时密码(Abc123def456! 部分)
然后用临时密码登录 MySQL:
mysql -u root -p
11.修改 root 密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
#如果密码太简单,可能会报错 ERROR 1819 (HY000): Your password does not satisfy the
#current policy requirements,此时需要设置更复杂的密码。
一键安装脚本:
# 停止MySQL服务(如果存在)
sudo systemctl stop mysqld 2\>/dev/null
# 卸载MySQL相关软件包
sudo yum remove -y mysql\* mysql-community\*
# 删除MySQL相关文件和目录
sudo rm -rf /var/lib/mysql
sudo rm -rf /var/log/mysqld.log
sudo rm -rf /etc/my.cnf
sudo rm -rf /etc/my.cnf.d/
# 下载 MySQL 5.7 的 YUM 源配置文件
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm -O /tmp/mysql57.rpm
# 安装 MySQL YUM 源
sudo rpm -ivh /tmp/mysql57.rpm
rm -f /tmp/mysql57.rpm
# 验证 YUM 源是否生效
echo "检查YUM源..."
yum repolist enabled \| grep mysql
# 安装 MySQL 5.7 服务器
echo "正在安装MySQL 5.7..."
sudo yum install -y mysql-community-server 如果报错,说密钥的问题导致不能正常下载
就在后面再加一个--nogpgcheck,表示跳过密钥
sudo yum install -y mysql-community-server --nogpgcheck
# 启动 MySQL 并设置开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld
# 检查服务状态
echo "检查MySQL服务状态..."
sudo systemctl status mysqld --no-pager
# 获取临时密码
echo "获取临时密码..."
TEMP_PWD=$(sudo grep 'temporary password' /var/log/mysqld.log \| awk '{print $NF}')
if \[ -z "$TEMP_PWD" \]; then
echo "错误:未找到临时密码!请检查日志文件 /var/log/mysqld.log"
exit 1
fi
echo "临时密码: $TEMP_PWD"
# 提示用户手动修改密码(因为需要交互)
echo "请执行以下命令完成密码修改:"
echo "mysql -u root -p"
echo "输入临时密码后执行:"
echo "ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';"
echo "注意: 密码需符合策略(至少8位,含大小写字母、数字和特殊字符)"
# 可选:自动尝试修改密码(非交互式,但可能因策略失败)
# echo "尝试自动修改密码(可能因策略失败)..."
# mysql -u root -p"$TEMP_PWD" \<\