centos mysql配置技巧有哪些
导读:CentOS MySQL配置技巧汇总 1. 安装与初始化配置 卸载冲突组件:CentOS 8及以上版本默认使用MariaDB,需先卸载以避免冲突: rpm -qa | grep mariadb → rpm -e --nodeps mari...
CentOS MySQL配置技巧汇总
1. 安装与初始化配置
- 卸载冲突组件:CentOS 8及以上版本默认使用MariaDB,需先卸载以避免冲突:
rpm -qa | grep mariadb→rpm -e --nodeps mariadb-libs-版本号。 - 添加YUM源:下载MySQL官方YUM源并安装,确保获取最新稳定版本:
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm→yum install mysql57-community-release-el7-11.noarch.rpm。 - 启动与开机自启:安装完成后启动服务并设置开机自启:
systemctl start mysqld→systemctl enable mysqld。 - 设置初始密码:通过日志获取临时密码并修改:
grep 'temporary password' /var/log/mysqld.log→mysql -uroot -p→ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES;。
2. 安全配置强化
- 运行安全脚本:执行
mysql_secure_installation,完成以下操作:- 设置root密码强度;
- 删除匿名用户;
- 禁止root远程登录;
- 删除测试数据库。
- 修改绑定地址:编辑配置文件
/etc/my.cnf,将bind-address设置为127.0.0.1(仅本地访问)或服务器IP(允许特定IP访问),防止未授权远程连接。 - 配置防火墙:开放MySQL默认端口(3306)并重载防火墙规则:
firewall-cmd --permanent --zone=public --add-port=3306/tcp→firewall-cmd --reload。
3. 性能优化技巧
- 内存参数调优:
- InnoDB缓冲池:设置为物理内存的50%-80%(如
innodb_buffer_pool_size=1G),用于缓存数据和索引,显著提升查询性能; - 日志文件大小:增大
innodb_log_file_size(如256M),减少日志切换频率,提高写入性能; - 查询缓存:根据场景调整
query_cache_size(读多写少可设64M,高并发写入建议关闭)。
- InnoDB缓冲池:设置为物理内存的50%-80%(如
- 连接数设置:根据应用负载调整
max_connections(如200-500),避免因连接数不足导致拒绝服务;同时设置thread_cache_size(如64),减少线程创建开销。 - 硬件优化:使用SSD替代HDD(提升IO性能)、增加内存(提高缓存效率)、采用多核CPU(提升并发处理能力)。
4. 配置文件管理
- 定位配置文件:通过
sudo find / -name my.cnf确认配置文件路径(通常为/etc/my.cnf),避免修改错误文件。 - 备份配置文件:修改前备份原始文件(
sudo cp /etc/my.cnf /etc/my.cnf.bak),便于出错时恢复。 - 重启生效:修改配置文件后,需重启MySQL服务使变更生效:
systemctl restart mysqld。 - 验证配置:通过MySQL命令行验证参数是否生效,如:
SHOW VARIABLES LIKE 'innodb_buffer_pool_size';→SHOW VARIABLES LIKE 'max_connections';。
5. 日志与维护管理
- 启用二进制日志:在
[mysqld]section添加log_bin=mysql-bin和binlog_format=row,支持数据恢复和主从复制。 - 慢查询日志:开启慢查询日志(
slow_query_log=1)并设置阈值(long_query_time=2),通过pt-query-digest等工具分析慢查询,优化SQL语句。 - 定期维护:使用
OPTIMIZE TABLE整理表碎片(针对频繁更新的InnoDB表)、ANALYZE TABLE更新表统计信息(优化查询计划)、REPAIR TABLE修复损坏的表(针对MyISAM表)。
6. 远程连接配置
- 授权远程用户:登录MySQL后,为用户授予远程访问权限(如允许root从任意IP访问):
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;→FLUSH PRIVILEGES;。 - 配置防火墙:确保防火墙允许3306端口流量(参考“安全配置”中的防火墙设置)。
- 验证远程连接:从远程主机使用
mysql -h 服务器IP -u root -p登录,确认连接成功。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos mysql配置技巧有哪些
本文地址: https://pptw.com/jishu/747523.html
