以下是CentOS下MySQL的使用技巧,涵蓋安裝、配置、優化及管理等方面:
安裝MySQL
sudo yum install -y https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm
sudo yum install -y mysql-community-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
安全初始化
sudo mysql_secure_installation
配置文件優化(/etc/my.cnf)
innodb_buffer_pool_size = 1G # 建議為物理內存的50%-80%
innodb_log_file_size = 256M # 日志文件大小,影響性能
max_connections = 500 # 根據服務器負載調整
slow_query_log = ON # 開啟慢查詢日志
long_query_time = 1 # 慢查詢閾值(秒)
遠程訪問配置
bind-address=0.0.0.0
允許遠程連接,并通過防火墻放行3306端口:sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
索引優化
CREATE INDEX idx_name ON users(name);
EXPLAIN
分析查詢計劃,優化低效SQL:EXPLAIN SELECT * FROM orders WHERE user_id = 100;
查詢與表優化
SELECT *
,只查詢必要字段;使用LIMIT
限制返回行數。sudo mysqlcheck -o -u root -p database_name
備份與恢復
sudo mysqldump -u root -p --all-databases > all_backup.sql
mysql -u root -p < backup.sql
監控與日志
mysqladmin -u root -p status
mysqladmin -u root -p processlist # 查看當前進程
sudo grep "Slow query" /var/log/mysql-slow.log
權限管理
GRANT SELECT, INSERT ON db_name.* TO 'user'@'host';
FLUSH PRIVILEGES;
數據加密與審計
AES_ENCRYPT
加密存儲。general_log = ON
general_log_file = /var/log/mysql-general.log
server-id
、log-bin
及CHANGE MASTER TO
命令實現數據同步。innodb_buffer_pool_size
或升級硬件。以上技巧可根據實際業務場景靈活調整,操作前建議備份數據。參考來源: