CentOS 7 安装 MySQL 8.0 部署文档

CentOS 7 安装 MySQL 8.0 部署文档

1. 安装 MySQL
  1. 添加 MySQL Yum 仓库:

    复制代码
    sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
  2. 安装 MySQL 服务:

    复制代码
    sudo yum install --nogpgcheck mysql-community-server
2. 初始化 MySQL
  1. 初始化数据库:

    复制代码
    mysqld --initialize --user=mysql --lower-case-table-names=1
  2. 记录 root 密码 :

    查看 /var/log/mysqld.log 文件获取自动生成的临时 root 密码。

    复制代码
    grep "password" /var/log/mysqld.log
3. 修改 /etc/my.cnf 配置文件
  1. 编辑配置文件:

    复制代码
    vi /etc/my.cnf
  2. 添加配置 :

    在 [mysqld] 下添加:

    复制代码
    lower-case-table-names=1
    default-time_zone='+8:00'
    max_connections=1000
    max_connect_errors=1000
    default-authentication-plugin=mysql_native_password
    character-set-server=utf8
    sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

    在 [client] 和 [mysql] 下添加:

    复制代码
    default-character-set=utf8
4. 启动 MySQL 服务
复制代码
systemctl start mysqld
5. 修改数据库 root 密码及创建全域 root 用户
  1. 登录 MySQL :

    使用记录的临时密码登录。

    复制代码
    mysql -u root -p
  2. 修改 root 用户密码:

    复制代码
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'QWER1234@';
  3. 创建全域 root 用户:

    复制代码
    CREATE USER 'root'@'%' IDENTIFIED BY 'QWER1234@';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
    FLUSH PRIVILEGES;
  4. 更改权限:

    复制代码
    UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE user ='root' AND host='%'; 
    FLUSH PRIVILEGES;
6. 配置修改
  • 重启 MySQL 服务:

    复制代码
    systemctl restart mysqld
  • 验证配置 :

    使用相应的验证 SQL 语句来确认配置的修改。

7. 更改数据文件存储位置
  1. 停止 MySQL 服务:

    复制代码
    systemctl stop mysqld
  2. 创建新的数据存储路径:

    复制代码
    mkdir -p /home/data/mysql
    mv /var/lib/mysql/* /home/data/mysql/
  3. 修改 /etc/my.cnf 配置 :

    在 [mysqld] 下修改 datadir 和 socket 路径。

    复制代码
    datadir=/home/data/mysql
    socket=/home/data/mysql/mysql.sock

    在 [client] 下添加:

    复制代码
    socket=/home/data/mysql/mysql.sock
  4. 启动 MySQL 服务:

    复制代码
    systemctl start mysqld
相关推荐
nice_lcj5201 小时前
MySQL 存储引擎入门:InnoDB 和 MyISAM 到底怎么选
java·数据库·mysql·面试·innodb·存储引擎·myisam
say_fall2 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
ö Constancy2 小时前
一台电脑的硬件组成与作用:按功能分类详解(Windows 与 Linux 视角)
linux·windows·电脑
江湖有缘2 小时前
基于Ubuntu部署SoduWork:企业级 AI 原生协同平台实战全流程
linux·人工智能·ubuntu·ai·soduwork
xixingzhe23 小时前
mysql全量、增量备份
数据库·mysql
无奈笑天下11 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
Rabitebla14 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
隔窗听雨眠15 小时前
MySQL三表JOIN执行内核与优化器决策机制
数据库·mysql·sql优化
Decay__16 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
坤坤子吖19 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习