CentOS MySQL配置技巧汇总
rpm -qa | grep mariadb → rpm -e --nodeps mariadb-libs-版本号。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;。mysql_secure_installation,完成以下操作:
/etc/my.cnf,将bind-address设置为127.0.0.1(仅本地访问)或服务器IP(允许特定IP访问),防止未授权远程连接。firewall-cmd --permanent --zone=public --add-port=3306/tcp → firewall-cmd --reload。innodb_buffer_pool_size=1G),用于缓存数据和索引,显著提升查询性能;innodb_log_file_size(如256M),减少日志切换频率,提高写入性能;query_cache_size(读多写少可设64M,高并发写入建议关闭)。max_connections(如200-500),避免因连接数不足导致拒绝服务;同时设置thread_cache_size(如64),减少线程创建开销。sudo find / -name my.cnf确认配置文件路径(通常为/etc/my.cnf),避免修改错误文件。sudo cp /etc/my.cnf /etc/my.cnf.bak),便于出错时恢复。systemctl restart mysqld。SHOW VARIABLES LIKE 'innodb_buffer_pool_size'; → SHOW VARIABLES LIKE 'max_connections';。[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表)。GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; → FLUSH PRIVILEGES;。mysql -h 服务器IP -u root -p登录,确认连接成功。