在 CentOS 7 上安装 MySQL 8.0.34 的步骤如下:
1. 卸载 MariaDB(如果已安装)
CentOS 7 默认使用 MariaDB 作为数据库管理系统,因此在安装 MySQL 之前需要卸载 MariaDB。
rpm -qa | grep mariadb rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
2. 下载 MySQL 安装包
你可以从 MySQL 官方网站下载 MySQL 8.0.34 的安装包:
wget
https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.34-linux-glibc2.28-x86_64.tar.gz
3. 解压安装包
将下载的安装包解压到指定目录:
tar -zxvf mysql-8.0.34-linux-glibc2.28-x86_64.tar.gz
mv mysql-8.0.34-linux-glibc2.28-x86_64 /usr/local/mysql
4. 创建 MySQL 数据存放目录
创建 MySQL 数据存放目录:
mkdir -p /data/mysql
5. 创建配置文件
创建并编辑 MySQL 配置文件 /etc/my.cnf
:
vim /etc/my.cnf
在文件中添加以下内容:
[mysqld] bind-address=0.0.0.0 port=3306 user=root basedir=/usr/local/mysql datadir=/data/mysql socket=/tmp/mysql.sock log-error=/data/mysql/mysql.err pid-file=/data/mysql/mysql.pid character_set_server=utf8mb4 symbolic-links=0 explicit_defaults_for_timestamp=true
6. 安装依赖
如果在初始化过程中遇到依赖问题,可以通过以下命令安装所需依赖:
yum install -y libaio
7. 初始化 MySQL
进入 MySQL 的 bin
目录并执行初始化命令:
cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --initialize
8. 查看默认密码
初始化完成后,查看 MySQL 的默认密码:
less /data/mysql/mysql.err
9. 启动 MySQL
将 mysql.server
复制到 /etc/init.d
目录并启动 MySQL:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql start
如果出现 Failed to start mysql.service: Unit not found
错误,修改 /etc/init.d/mysql
文件内容:
vim /etc/init.d/mysql
确保 basedir
和 datadir
配置正确:
basedir=/usr/local/mysql
datadir=/data/mysql
重新启动 MySQL:
service mysql start
10. 登录并修改密码
使用默认密码登录 MySQL 并修改密码:
/usr/local/mysql/bin/mysql -u root -p
输入默认密码后,修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';
FLUSH PRIVILEGES;
11. 设置外部访问
允许外部访问 MySQL:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
12. 防火墙配置
确保防火墙允许 MySQL 端口 3306:
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload