ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

CentOS下安装MySQL8.0完整指南

CentOS下安装MySQL8.0完整指南

一、安装方式对比

安装方式适用场景优点缺点
包管理器安装(apt/yum/dnf)快速部署、追求稳定性、新手友好自动处理依赖、配置简单、易于升级维护版本可能较旧、定制化程度低
手动编译安装需要特定版本、深度定制、学习原理版本可控、性能优化灵活、功能模块可选步骤繁琐、依赖管理复杂、易出错
官方仓库安装需要较新稳定版、兼顾便捷与版本版本较新、官方维护、相对规范需添加第三方仓库,有轻微配置成本

对于绝大多数场景,推荐使用包管理器或官方仓库安装。以下以CentOS/RHEL (使用yum/dnf)Ubuntu/Debian (使用apt)两大主流派系为例,演示MySQL 8.0的安装。

二、通过包管理器安装 (推荐)

1. 对于 CentOS / RHEL / Rocky Linux / AlmaLinux 系统

# 1. 添加MySQL官方Yum仓库 sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm# 注:请根据你的系统版本(el7, el8, el9)替换上方URL中的对应数字。 # 2. 安装MySQL服务器 sudo yum install -y mysqlcommunity-server# 或使用 dnf (CentOS 8/RHEL 8及以上) # sudo dnf install -y mysql-community-server# 3. 启动MySQL服务并设置开机自启 sudo systemctl start mysqld sudo systemctl enable mysqld # 4. 查看服务状态,确认运行正常 sudo systemctl status mysqld

2. 对于 Ubuntu / Debian 系统

# 1. 更新软件包索引sudo apt update # 2. 安装MySQL服务器 sudo apt install -y mysql-server # 3. 启动MySQL服务并设置开机自启 (Ubuntu 16.04+ / Debian 9+) sudo systemctl start mysql sudo systemctl enable mysql # 4. 查看服务状态 sudo systemctl status mysql

三、初始安全配置与登录

安装完成后,MySQL会生成一个临时root密码(仅适用于某些安装方式,如CentOS的RPM包)或要求你立即设置root密码(如Ubuntu的APT安装)。请按以下步骤操作:

# 1. 查找临时密码 (CentOS/RHEL等系统可能需要) sudo grep 'temporary password' /var/log/mysqld.log # 输出类似:`A temporary password is generated for root@localhost: 3e5r&*qskqQw` # 2. 运行安全配置向导 (强烈推荐) sudo mysql_secure_installation

执行上述命令后,会进入交互式配置,根据提示完成以下操作:

  • 输入当前的root密码(如果是临时密码,则粘贴上一步查到的)。
  • 设置新的root密码(需满足密码强度策略)。
  • 移除匿名用户 (Remove anonymous users?):输入Y
  • 禁止root远程登录 (Disallow root login remotely?):输入Y(除非你明确需要)。
  • 删除测试数据库 (Remove test database and access to it?):输入Y
  • 立即重新加载权限表 (Reload privilege tables now?):输入Y
# 3. 使用新密码登录MySQL mysql -u root -p # 输入你刚设置的root密码

四、基础配置与常用命令

1. 修改配置文件 (如调整字符集、端口等)

MySQL主配置文件通常位于/etc/my.cnf/etc/mysql/my.cnf

# 使用vim或nano编辑配置文件 sudo vim /etc/my.cnf

[mysqld]部分添加或修改以下常见配置:

[mysqld] # 设置默认字符集为utf8mb4 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci # 设置MySQL数据存储目录 (按需修改) datadir=/var/lib/mysql # 设置MySQL监听端口 (默认3306) port=3306 # 设置表名大小写不敏感 (1为不敏感,0为敏感) lower_case_table_names=1 # 设置最大连接数 max_connections=1000

修改后需重启服务生效:

sudo systemctl restart mysqld # CentOS/RHEL #或 sudo systemctl restart mysql # Ubuntu/Debian

2. 开放远程访问 (谨慎操作)

默认情况下,MySQL只允许本地(localhost)连接。如需从其他机器访问,需进行配置:

-- 1. 在MySQL命令行中,创建一个允许远程连接的用户 (示例:用户`remoteuser`,密码`StrongPass123!`) CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'StrongPass123!'; -- 2. 授予该用户所有数据库的所有权限 (生产环境建议按需细化权限) GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%' WITH GRANT OPTION; -- 3. 刷新权限 FLUSH PRIVILEGES;
# 4. 配置防火墙,开放3306端口# CentOS/RHEL (firewalld) sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload # Ubuntu/Debian (ufw) sudo ufw allow 3306/tcp sudo ufw reload

3. 常用服务管理命令

操作CentOS/RHEL 命令Ubuntu/Debian 命令
启动服务sudo systemctl start mysqldsudo systemctl start mysql
停止服务sudo systemctl stop mysqldsudo systemctl stop mysql
重启服务sudo systemctl restart mysqldsudo systemctl restart mysql
查看状态sudo systemctl status mysqldsudo systemctl status mysql
开机自启sudo systemctl enable mysqldsudo systemctl enable mysql
禁止开机自启sudo systemctl disable mysqldsudo systemctl disable mysql

五、验证安装与基本测试

# 1. 检查MySQL版本 mysql --version# 2. 登录MySQL并执行简单查询 mysql -u root -p -e "SELECT VERSION(); SHOW DATABASES;"

如果一切顺利,你将看到MySQL的版本信息和数据库列表。


参考来源

  • linux安装mysql数据库教程
  • ‌Linux系统安装MySQL数据库详细教程
  • Linux安装MySQL数据库教程
  • linux安装单机mysql_【数据库】-【DB】-Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】-安装-单机...
  • Linux (centos8)安装 MySQL 8 数据库(图文详细教程)
返回列表