CentOS 6.8 系统下 MySQL 5.7 的安装与配置指南
环境准备
在开始安装前,需确保系统满足以下要求:
- 操作系统:CentOS 6.8(64位)
- 硬件资源:至少 1GB 内存,2GB 以上更佳;磁盘空间需预留 2GB 以上用于存储数据文件。
- 依赖包:MySQL 5.7 需依赖
libaio
库,可通过以下命令安装:yum install -y libaio-devel
下载 MySQL 5.7 安装包
访问 MySQL 官方下载页面,选择适用于 Linux 的通用二进制包(如 mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
),通过 wget
命令下载至服务器:
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
解压与初始化
创建安装目录:
在/usr/local/
下创建mysql
目录,并将压缩包解压至此路径:mkdir /usr/local/mysql tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql --strip-components=1
添加 MySQL 用户组及用户:
为避免权限冲突,创建专用用户和组:groupadd mysql useradd -r -g mysql -s /sbin/nologin mysql chown -R mysql:mysql /usr/local/mysql/
初始化数据库:
进入 MySQL 安装目录,执行初始化脚本(需指定数据目录):cd /usr/local/mysql/bin ./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
注:
--initialize-insecure
表示生成空密码,生产环境建议使用--initialize
自动生成随机密码。
配置系统服务
复制启动脚本:
将 MySQL 提供的 systemd 服务模板复制到系统目录:cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld
设置开机自启:
使用chkconfig
命令将 MySQL 添加为系统服务:chkconfig --add mysqld chkconfig mysqld on
配置环境变量:
编辑/etc/profile
文件,添加 MySQL 路径:echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile source /etc/profile
修改配置文件
编辑 MySQL 主配置文件 /etc/my.cnf
(若不存在则新建),参考以下示例配置:
[mysqld] port = 3306 basedir = /usr/local/mysql datadir = /usr/local/mysql/data socket = /tmp/mysql.sock character-set-server = utf8mb4 default-storage-engine = InnoDB [client] port = 3306 socket = /tmp/mysql.sock
启动服务与安全加固
启动 MySQL 服务:
执行以下命令启动服务:service mysqld start
设置 root 密码:
初次登录时默认无密码(或使用初始化时的随机密码),通过以下命令设置强密码:mysql -u root ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword!'; FLUSH PRIVILEGES; EXIT;
删除匿名用户与测试库:
登录 MySQL 后执行:DROP DATABASE test; DELETE FROM mysql.user WHERE User=''; FLUSH PRIVILEGES;
常见问题排查
问题现象 | 解决方案 |
---|---|
启动失败,提示“Can’t create/write to file” | 检查数据目录权限:chown -R mysql:mysql /usr/local/mysql/data |
连接超时,端口未开放 | 开放防火墙端口:iptables -A INPUT -p tcp --dport 3306 -j ACCEPT |
忘记 root 密码 | 以跳过授权表模式启动:mysqld_safe --skip-grant-tables & ,重置密码后恢复 |
相关问答 FAQs
Q1:为什么在 CentOS 6.8 上安装 MySQL 5.7 时出现依赖错误?
A:MySQL 5.7 对 glibc 版本有较高要求(需 ≥ 2.12),CentOS 6.8 自带 glibc 2.12,但部分旧版本可能不兼容,可尝试升级 glibc 或直接使用预编译的二进制包(已包含所需依赖)。
Q2:如何验证 MySQL 5.7 是否正常工作?
A:执行 mysql -V
查看版本信息;运行 SHOW VARIABLES LIKE '%version%';
确认版本号;通过 SELECT 1;
测试连接稳定性,若所有命令均返回预期结果,说明服务正常运行。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复