您好,登录后才能下订单哦!
# CentOS7如何安装MySQL5.7和修改初始密码
## 前言
MySQL作为最流行的开源关系型数据库管理系统之一,被广泛应用于各种Web应用和数据存储场景。在CentOS 7系统中安装MySQL 5.7并正确配置是许多开发者和运维人员需要掌握的基础技能。本文将详细介绍在CentOS 7系统上安装MySQL 5.7的完整流程,包括安装前的准备工作、安装过程、初始化配置以及修改初始密码等关键步骤。
## 一、准备工作
### 1.1 系统环境检查
在开始安装前,请确保您的系统满足以下要求:
- 已安装CentOS 7操作系统
- 具有root或sudo权限的用户
- 能够访问互联网以下载安装包
检查系统版本:
```bash
cat /etc/redhat-release
如果系统中已安装旧版本的MySQL或MariaDB,建议先卸载以避免冲突:
# 检查已安装的MySQL相关包
rpm -qa | grep mysql
rpm -qa | grep mariadb
# 卸载发现的包
sudo yum remove mysql-community-server mysql-community-client mariadb-server
sudo rm -rf /var/lib/mysql/
sudo rm -rf /etc/my.cnf
CentOS 7默认仓库不包含MySQL 5.7,需要手动添加官方YUM仓库:
sudo rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
验证仓库是否添加成功:
sudo yum repolist enabled | grep "mysql.*-community.*"
sudo yum install mysql-community-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
检查服务状态:
sudo systemctl status mysqld
MySQL 5.7在首次启动时会生成一个临时root密码:
sudo grep 'temporary password' /var/log/mysqld.log
输出示例:
2023-01-01T12:00:00.000000Z 1 [Note] A temporary password is generated for root@localhost: Abc12345#
mysql -uroot -p
输入上一步获取的临时密码。
成功登录后立即修改密码(MySQL 5.7有密码强度要求):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewStrongPassword123!';
如果遇到密码策略错误,可以先设置简单密码再修改策略:
-- 临时降低密码策略
SET GLOBAL validate_password_policy=LOW;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'simplepassword';
-- 然后重新设置复杂密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewStrongPassword123!';
MySQL 5.7默认启用了密码验证插件,有三个级别: - LOW:只检查长度(至少8字符) - MEDIUM:检查长度、数字、大小写、特殊字符 - STRONG:在MEDIUM基础上增加字典文件检查
查看当前策略:
SHOW VARIABLES LIKE 'validate_password%';
MySQL提供了安全配置向导:
sudo mysql_secure_installation
按照提示操作: 1. 输入当前root密码 2. 是否更改root密码(可选) 3. 移除匿名用户(Y) 4. 禁止root远程登录(Y) 5. 移除测试数据库(Y) 6. 重新加载权限表(Y)
如果需要远程连接MySQL:
-- 创建远程访问用户
CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
-- 或者允许root远程访问(不推荐)
UPDATE mysql.user SET Host='%' WHERE User='root';
FLUSH PRIVILEGES;
同时需要修改防火墙:
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
如果忘记root密码,可以按以下步骤重置:
sudo systemctl stop mysqld
sudo mysqld_safe --skip-grant-tables &
mysql -uroot
UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword123!') WHERE User='root';
FLUSH PRIVILEGES;
建议将MySQL默认字符集设置为utf8mb4:
编辑配置文件/etc/my.cnf
:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
[client]
default-character-set=utf8mb4
重启服务生效:
sudo systemctl restart mysqld
# 启动服务
sudo systemctl start mysqld
# 停止服务
sudo systemctl stop mysqld
# 重启服务
sudo systemctl restart mysqld
# 查看状态
sudo systemctl status mysqld
# 错误日志
sudo tail -f /var/log/mysqld.log
# 慢查询日志(需先配置)
sudo tail -f /var/log/mysql-slow.log
通过本文的详细步骤,您应该已经成功在CentOS 7系统上安装了MySQL 5.7,并完成了初始密码修改和基础安全配置。MySQL作为重要的数据存储组件,建议定期进行维护和备份,确保数据安全。后续可以根据实际需求进一步优化MySQL配置,如调整缓冲区大小、配置主从复制等高级功能。
注意:生产环境中请务必使用符合要求的强密码,并定期更换密码以保证数据库安全。 “`
这篇文章共计约1800字,详细介绍了从准备工作到安装配置的全过程,包含了实际操作命令、常见问题解决方法以及日常管理建议。采用Markdown格式编写,结构清晰,便于阅读和直接使用。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。