Centos7如何安装Mysql5.7和修改初始密码

发布时间:2021-07-09 17:20:12 作者:chen
来源:亿速云 阅读:262
# 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

1.2 卸载旧版本MySQL

如果系统中已安装旧版本的MySQL或MariaDB,建议先卸载以避免冲突:

# 检查已安装的MySQL相关包
rpm -qa | grep mysql
rpm -qa | grep mariadb

# 卸载发现的包
sudo yum remove mysql-community-server mysql-community-client mariadb-server

1.3 清理残留文件

sudo rm -rf /var/lib/mysql/
sudo rm -rf /etc/my.cnf

二、安装MySQL 5.7

2.1 添加MySQL YUM仓库

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.*"

2.2 安装MySQL服务器

sudo yum install mysql-community-server

2.3 启动MySQL服务

sudo systemctl start mysqld
sudo systemctl enable mysqld

检查服务状态:

sudo systemctl status mysqld

三、获取初始密码并修改

3.1 获取临时密码

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#

3.2 使用临时密码登录

mysql -uroot -p

输入上一步获取的临时密码。

3.3 修改root密码

成功登录后立即修改密码(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!';

3.4 密码策略说明

MySQL 5.7默认启用了密码验证插件,有三个级别: - LOW:只检查长度(至少8字符) - MEDIUM:检查长度、数字、大小写、特殊字符 - STRONG:在MEDIUM基础上增加字典文件检查

查看当前策略:

SHOW VARIABLES LIKE 'validate_password%';

四、基础安全配置

4.1 运行安全脚本

MySQL提供了安全配置向导:

sudo mysql_secure_installation

按照提示操作: 1. 输入当前root密码 2. 是否更改root密码(可选) 3. 移除匿名用户(Y) 4. 禁止root远程登录(Y) 5. 移除测试数据库(Y) 6. 重新加载权限表(Y)

4.2 配置远程访问(可选)

如果需要远程连接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

五、常见问题解决

5.1 忘记root密码

如果忘记root密码,可以按以下步骤重置:

  1. 停止MySQL服务:
sudo systemctl stop mysqld
  1. 以安全模式启动MySQL:
sudo mysqld_safe --skip-grant-tables &
  1. 无密码登录MySQL:
mysql -uroot
  1. 更新密码:
UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword123!') WHERE User='root';
FLUSH PRIVILEGES;
  1. 退出并重启MySQL服务

5.2 字符集配置

建议将MySQL默认字符集设置为utf8mb4:

编辑配置文件/etc/my.cnf

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

[client]
default-character-set=utf8mb4

重启服务生效:

sudo systemctl restart mysqld

六、日常管理命令

6.1 服务管理

# 启动服务
sudo systemctl start mysqld

# 停止服务
sudo systemctl stop mysqld

# 重启服务
sudo systemctl restart mysqld

# 查看状态
sudo systemctl status mysqld

6.2 日志查看

# 错误日志
sudo tail -f /var/log/mysqld.log

# 慢查询日志(需先配置)
sudo tail -f /var/log/mysql-slow.log

结语

通过本文的详细步骤,您应该已经成功在CentOS 7系统上安装了MySQL 5.7,并完成了初始密码修改和基础安全配置。MySQL作为重要的数据存储组件,建议定期进行维护和备份,确保数据安全。后续可以根据实际需求进一步优化MySQL配置,如调整缓冲区大小、配置主从复制等高级功能。

注意:生产环境中请务必使用符合要求的强密码,并定期更换密码以保证数据库安全。 “`

这篇文章共计约1800字,详细介绍了从准备工作到安装配置的全过程,包含了实际操作命令、常见问题解决方法以及日常管理建议。采用Markdown格式编写,结构清晰,便于阅读和直接使用。

推荐阅读:
  1. centos7 yum 安装 mysql5.7
  2. centos7系统如何安装及配置mysql5.7

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

centos mysql

上一篇:Ubuntu下源码编译方式进行Golang环境的搭建方法

下一篇:PHP中怎么将数组转换为字符串

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》