CentOS 7 上安装 MySQL 8步骤:
一、安装前准备
1. 卸载 MariaDB(如果已安装)
-
检查是否安装了 MariaDB:
rpm -qa | grep mariadb
-
卸载 MariaDB:
rpm -e --nodeps <包名>
-
确认卸载是否干净:
rpm -qa | grep mariadb
2. 检查并安装依赖
-
检查并安装
libaio
:rpm -qa | grep libaio
如果未安装,则执行:
yum -y install libaio
-
检查并安装
numactl
:rpm -qa | grep numactl
如果未安装,则执行:
yum -y install numactl
二、安装 MySQL
1. 下载 MySQL 安装包
-
进入安装目录:
cd /usr/local/
-
官网下载: 访问 MySQL官网 下载所需版本。
-
使用
wget
下载:wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.30-el7-x86_64.tar
2. 解压安装包
-
解压安装包:
tar -xvf mysql-8.0.30-el7-x86_64.tar tar -zxvf mysql-8.0.30-el7-x86_64.tar.gz
3. 重命名安装目录
mv mysql-8.0.30-el7-x86_64/ mysql
4. 创建数据存储目录
mkdir mysql/data
5. 设置用户和权限
-
创建用户组:
groupadd mysql
-
创建用户:
useradd -r -g mysql mysql
-
更改属主和组:
chown -R mysql:mysql /usr/local/mysql/
-
更改权限:
chmod -R 755 /usr/local/mysql/
6. 初始化 MySQL
-
进入 MySQL 的
bin
目录:cd /usr/local/mysql/bin/
-
初始化数据库:
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
7. 配置 MySQL 参数文件
-
创建并编辑配置文件:
vi /etc/my.cnf
-
添加基本配置参数(示例):
[mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/usr/local/mysql/data/mysql.sock port=3306 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci
注意: 根据实际需求调整配置参数。
8. 启动 MySQL
/usr/local/mysql/support-files/mysql.server start
9. 设置软连接并重启 MySQL
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/data/mysql.sock /var/mysql.sock
ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock
service mysql restart
如果提示无法通过sock登录可以直接指定sock路径:
mysql -uroot -p --socket=/usr/local/mysql/data/mysql.sock
10. 登录并更改密码
mysql -uroot -p
-
输入初始化生成的随机密码。
-
更改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
11. 开放远程连接
-
登录 MySQL 后执行以下命令:
USE mysql; UPDATE user SET Host='%' WHERE User='root'; FLUSH PRIVILEGES;
注意: 出于安全考虑,建议为远程连接创建专用用户并限制权限。
12. 测试连接工具
- 使用
mysql
命令行或其他数据库管理工具测试远程连接是否成功。
13. MySQL 服务管理
-
启动 MySQL:
service mysql start systemctl start mysql
-
停止 MySQL:
service mysql stop systemctl stop mysql
-
重启 MySQL:
service mysql restart systemctl restart mysql
-
查看 MySQL 状态:
service mysql status systemctl status mysql
三、设置开机自启动(可选)
1. 拷贝服务文件并重命名
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2. 赋予可执行权限
chmod +x /etc/init.d/mysqld
3. 添加服务到系统
chkconfig --add mysqld
4. 查看服务列表
chkconfig --list
5. 设置服务自启动
chkconfig --level 345 mysqld on
6. 重启系统
reboot
7. 验证 MySQL 是否开机自启动
重启后,执行以下命令检查 MySQL 进程是否在运行:
ps -ef | grep mysql
注意事项
-
安全性: 完成安装后,建议运行
mysql_secure_installation
脚本来增强 MySQL 的安全性。 -
防火墙配置: 如果系统启用了防火墙,请确保开放 MySQL 使用的端口(默认 3306)。
firewall-cmd --permanent --add-port=3306/tcp firewall-cmd --reload
-
SELinux 配置: 若启用了 SELinux,可能需要相应配置以允许 MySQL 正常运行和访问网络。