在 CentOS 7 环境下安装 MySQL 是一项常见的操作,下面是一个详细的安装步骤,确保你可以顺利地安装 MySQL 数据库并配置它。
一、准备工作
- 更新系统:
首先,确保你的系统是最新的。运行以下命令来更新系统的所有软件包:sudo yum update -y
- 安装必要的依赖:
有些依赖包可能已经安装,但为了确保没有遗漏,可以先安装wget
和其他工具:sudo yum install wget -y
二、安装 MySQL
1. 下载并安装 MySQL 仓库
MySQL 官方提供了一个专用的 Yum 仓库,可以方便地安装 MySQL。你需要先添加该仓库。
1.1 通过以下命令下载 MySQL 8.0 的 Yum 仓库配置文件:
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
1.2 安装仓库:
sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
1.3 确认仓库已经安装成功:
sudo yum repolist enabled | grep "mysql.*-community.*"
你应该能看到相关的 MySQL 仓库信息。
2. 安装 MySQL Server
安装 MySQL Server:
sudo yum install mysql-server -y
3. 启动 MySQL 服务
安装完成后,你需要启动 MySQL 服务:
sudo systemctl start mysqld
4. 配置 MySQL 开机自启
为了确保每次重启后 MySQL 都能自动启动,运行以下命令:
sudo systemctl enable mysqld
5. 查看 MySQL 服务状态
使用以下命令检查 MySQL 服务是否正常运行:
sudo systemctl status mysqld
如果看到输出中显示 active (running)
,说明 MySQL 服务已经启动。
三、MySQL 初始密码
MySQL 在第一次启动时会生成一个临时密码,系统会将该密码保存在 MySQL 的日志文件中。
- 查找临时密码:
临时密码存储在 MySQL 的日志文件/var/log/mysqld.log
中。你可以通过以下命令获取它:sudo grep 'temporary password' /var/log/mysqld.log
输出会类似于:2021-01-01T12:34:56.789123Z 1 [Note] A temporary password is generated for root@localhost: abc123def456
上面的abc123def456
就是 MySQL 的临时密码。
四、配置 MySQL 安全性
MySQL 安装完成后,你需要运行 mysql_secure_installation
来进行基本的安全配置,包括修改 root
密码、删除匿名用户、禁止远程登录等。
- 运行安全配置脚本:
sudo mysql_secure_installation
- 按照提示操作:
- 输入当前的
root
密码(临时密码)。 - 设置一个新的
root
密码。 - 是否删除匿名用户?输入
Y
。 - 是否禁用
root
用户的远程登录?输入Y
。 - 是否删除 test 数据库?输入
Y
。 - 是否重新加载权限表?输入
Y
。
- 输入当前的
五、登录 MySQL
- 登录 MySQL:
使用新设置的root
密码登录 MySQL:mysql -u root -p
输入密码后,你会进入 MySQL 提示符,类似于:mysql>
- 查看当前 MySQL 版本:
登录后,可以通过以下命令查看 MySQL 的版本:SELECT VERSION();
六、配置防火墙
如果你的 CentOS 系统启用了防火墙,可能需要允许 MySQL 的端口(默认是 3306)通过防火墙。
- 允许 MySQL 端口:
sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload
- 检查防火墙设置:
sudo firewall-cmd --list-all
七、配置远程访问(可选)
如果你需要允许远程计算机访问 MySQL,你需要进行一些配置。
- 编辑 MySQL 配置文件:
打开 MySQL 配置文件:sudo vi /etc/my.cnf
- 修改绑定地址:
找到以下配置行:bind-address = 127.0.0.1
将其改为:bind-address = 0.0.0.0
这将允许 MySQL 接受来自所有 IP 地址的连接。 - 重新启动 MySQL:
修改配置文件后,重新启动 MySQL 服务:sudo systemctl restart mysqld
- 授予远程访问权限:
如果你希望允许某个远程用户访问 MySQL,登录到 MySQL 并执行以下命令:GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
其中username
是远程用户的用户名,password
是用户的密码,%
表示允许所有 IP 访问。
八、测试远程连接(可选)
- 测试 MySQL 远程连接:
在客户端机器上,使用以下命令测试连接:mysql -u username -p -h <MySQL_server_ip>
如果连接成功,表示 MySQL 已经配置为支持远程连接。
九、卸载 MySQL(如果需要)
如果你不再需要 MySQL,可以通过以下命令卸载它:
sudo yum remove mysql-server -y
sudo rm -rf /var/lib/mysql
sudo rm /etc/my.cnf
十、总结
通过以上步骤,你已经成功在 CentOS 7 上安装了 MySQL 8.0,并进行了基本配置。你可以根据需要进一步调整 MySQL 的配置,进行性能优化或创建数据库和用户。
如果遇到问题,可以查看 MySQL 的错误日志 /var/log/mysqld.log
,里面通常会记录详细的错误信息。
发表回复