【保姆级教程-Centos7环境下部署Mysql并设置开机自启】

目录

    • 1. 卸载旧版本数据库
    • 2. 安装MySQL 8.0
    • 3. 启动服务
    • 4. 初始化安全设置
    • 5. 配置远程访问
    • 6. 创建管理账号
    • 7. 配置文件优化
    • 8. 应用配置

1. 卸载旧版本数据库

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

# 查询已安装的MariaDB相关包
rpm -qa | grep mariadb

# 强制卸载所有MySQL/MariaDB组件(注意:会删除所有关联数据)
yum remove -y mysql mysql-server mariadb*

# 清理残留文件和配置
rm -rf /var/lib/mysql && rm -rf /etc/my.cnf

2. 安装MySQL 8.0

# 下载官方仓库配置包
wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm

# 安装仓库配置(跳过GPG校验)
rpm -ivh mysql80-community-release-el7-7.noarch.rpm --nogpgcheck

# 安装MySQL服务器(自动解决依赖)
yum install -y mysql-community-server

3. 启动服务

# 启动MySQL服务(首次启动会自动初始化)
systemctl start mysqld

# 设置开机自启
systemctl enable mysqld

# 查看服务状态(正常应显示active (running))
systemctl status mysqld

4. 初始化安全设置

# 获取临时密码(首次启动生成的随机密码)
grep 'temporary password' /var/log/mysqld.log

# 使用临时密码登录(注意末尾的临时密码需要替换)
mysql -uroot -p'<临时密码>'

# 修改root密码(密码需满足复杂度要求)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Asd123..';

# 退出当前会话
quit

5. 配置远程访问

# 使用新密码重新登录
mysql -uroot -pAsd123..

# 降低密码策略要求(生产环境不建议)
SET GLOBAL validate_password.policy = LOW;
SET GLOBAL validate_password.length = 6;

# 创建远程root账号并设置简单密码
ALTER USER 'root'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

# 退出当前会话
quit

6. 创建管理账号

# 使用简单密码登录验证
mysql -uroot -p123456

# 创建admin管理员账号(允许任意主机访问)
CREATE USER 'admin'@'%' IDENTIFIED BY '123456';

# 授予最高权限(WITH GRANT OPTION允许授权)
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

# 验证用户列表
SELECT user, host FROM mysql.user;

# 退出当前会话
quit

7. 配置文件优化

# 编辑MySQL主配置文件
vim /etc/my.cnf

# 在文件末尾添加以下配置(注意缩进格式)
[mysqld]
character-set-server = utf8mb4        # 启用完整UTF-8字符集(支持emoji)
collation-server = utf8mb4_unicode_ci  # 不区分大小写的Unicode排序规则
port = 3306                            # 监听端口(默认)
bind-address = 0.0.0.0                 # 允许所有IP访问(生产环境建议指定IP)

[client]
default-character-set = utf8mb4        # 客户端默认字符集

[mysql]
default-character-set = utf8mb4        # 命令行客户端字符集

8. 应用配置

# 重启MySQL服务使配置生效
systemctl restart mysqld
systemctl status mysqld

【保姆级教程-Centos7环境下部署Mysql并设置开机自启】_第1张图片

你可能感兴趣的:(数据库应用,Linux,mysql,数据库,centos)