在CentOS上安装和配置MySQL是一个常见的任务,但为了确保系统的稳定性、安全性和性能,需要遵循一些最佳实践。以下是一个详细的指南,涵盖了从安装到配置优化的各个方面。
卸载系统自带的MariaDB:
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
下载并安装MySQL的YUM源:
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum install mysql57-community-release-el7-11.noarch.rpm
安装MySQL服务器:
yum install mysql-server -y
启动并启用MySQL服务:
systemctl start mysqld
systemctl enable mysqld
设置初始密码:
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
编辑MySQL配置文件(通常位于/etc/my.cnf
或/etc/mysql/my.cnf
):
[mysqld]
innodb_buffer_pool_size = 1G # 设置为系统总内存的50%-80%
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2
max_connections = 500
重启MySQL服务:
systemctl restart mysqld
运行安全配置脚本:
mysql_secure_installation
配置防火墙:
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload
限制远程访问:
编辑MySQL配置文件,将bind-address
设置为127.0.0.1
:
bind-address = 127.0.0.1
硬件优化:
查询优化:
SELECT *
,只选择需要的列。LIMIT
限制返回结果数量。索引优化:
OPTIMIZE TABLE
命令重建索引。定期维护:
ANALYZE TABLE
和OPTIMIZE TABLE
命令定期分析和优化表。通过以上步骤,你可以在CentOS上成功安装、配置和优化MySQL,确保其高效、稳定和安全地运行。