CentOS 5.7 安装与配置 MySQL 5.7 详细指南
一、前言
CentOS 5.7 是一个企业级的 Linux 发行版,广泛应用于服务器环境,MySQL 作为流行的开源关系型数据库管理系统,其 5.7 版本提供了许多改进和新特性,本文将详细介绍如何在 CentOS 5.7 上安装和配置 MySQL 5.7。
二、系统准备
在开始之前,请确保系统已更新并安装了必要的软件包:
yum update y yum groupinstall "Development Tools" y yum install wget y
三、卸载旧版 MySQL
如果系统上已经安装了 MySQL,建议先卸载以避免冲突:
yum list installed | grep mysql 如果存在 MySQL 相关软件包,使用以下命令卸载 yum y remove mysql mysqllibs mysqlserver mysqlclient
四、添加 MySQL Yum 源
1、下载 MySQL Yum 源 RPM 包:
编辑/etc/yum.repos.d/mysqlcommunity.repo
文件,添加以下内容以启用 MySQL 5.7 软件仓库:
[mysql57community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql5.7community/el6/$basearch/ enabled=1 gpgcheck=0
2、安装 MySQL Yum 源:
wget https://dev.mysql.com/get/mysql57communityreleaseel68.noarch.rpm sudo rpm ivh mysql57communityreleaseel68.noarch.rpm
3、禁用其他 MySQL 版本(如适用):
yumconfigmanager disable mysql56community yumconfigmanager disable mysql80community
五、安装 MySQL 5.7
1、安装 MySQL 服务器:
yum install mysqlcommunityserver y
2、启动 MySQL 服务:
service mysqld start
3、设置 MySQL 开机自启:
chkconfig level 345 mysqld on
4、获取临时密码:
MySQL 5.7 的 root 用户默认没有密码,但会生成一个临时密码,需要从日志文件中获取:
grep 'temporary password' /var/log/mysqld.log
输出示例:
[Note] A temporary password is generated for root@localhost: abcdefghijklmnopqrstuvwxzy
六、配置 MySQL
1、使用临时密码登录 MySQL:
mysql uroot p
输入临时密码后,即可进入 MySQL 命令行界面。
2、修改 root 用户密码:
为了安全性,建议将临时密码修改为强密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPassword!'; FLUSH PRIVILEGES; EXIT;
3、删除匿名用户:
DROP USER ''@'localhost';
4、禁止 root 远程登录:
UPDATE mysql.user SET host='localhost' WHERE User='root'; FLUSH PRIVILEGES;
5、移除测试数据库:
DROP DATABASE IF EXISTS test; DROP USER IF EXISTS 'test'@'localhost'; FLUSH PRIVILEGES;
6、加载这些更改:
FLUSH PRIVILEGES;
七、优化与安全设置
**绑定地址设置**:
编辑/etc/my.cnf
文件,找到[mysqld]
部分,确保绑定地址为服务器的实际 IP 或0.0.0.0
:
[mysqld] bindaddress = 0.0.0.0
保存文件后,重启 MySQL 服务:
service mysqld restart
**字符集设置**:
为确保数据库支持多种语言,可以在/etc/my.cnf
中添加以下字符集配置:
[client] defaultcharacterset=utf8mb4 [mysql] defaultcharacterset=utf8mb4 [mysqld] charactersetserver=utf8mb4 collationserver=utf8mb4_general_ci
重启 MySQL 服务以应用更改。
**防火墙设置**:
如果系统启用了防火墙,需要开放 MySQL 默认端口(3306):
iptables A INPUT p tcp dport 3306 j ACCEPT service iptables save service iptables restart
或者使用Firewalld
:
firewallcmd permanent addservice=mysql firewallcmd reload
八、常见问题解答(FAQs)
Q1: 如何更改 MySQL 默认数据存储位置?
A1: 可以通过编辑/etc/my.cnf
文件,添加或修改datadir
参数来更改默认数据存储位置。
[mysqld] datadir=/new/path/to/datadir
然后重启 MySQL 服务使更改生效,注意,需要手动迁移现有数据到新目录,并调整文件权限和所有权。
Q2: 忘记 MySQL root 密码怎么办?
A2: 如果忘记了 MySQL root 密码,可以通过跳过授权表的方式重置密码,操作步骤如下:
1、停止 MySQL 服务:service mysqld stop
2、使用跳过授权表的方式启动 MySQL:mysqld_safe skipgranttables &
3、登录 MySQL:mysql uroot
(无需密码)
4、修改 root 密码:FLUSH PRIVILEGES;
5、退出 MySQL:exit;
6、重新启动 MySQL 服务:service mysqld restart