CentOS LAMP數據庫管理指南
LAMP(Linux、Apache、MySQL/MariaDB、PHP)是CentOS上常見的Web開發環境,數據庫管理是其核心環節。以下從安裝配置、日常操作、優化安全、監控維護等維度總結管理方法:
CentOS上優先選擇MariaDB(MySQL分支,兼容性好且開源),安裝步驟如下:
sudo yum install mariadb-server mariadb -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
mysql_secure_installation腳本,完成以下操作:
若需安裝MySQL(非MariaDB),可將上述命令中的mariadb-server替換為mysql-server,mariadb替換為mysql。
使用root用戶登錄本地數據庫:
mysql -u root -p
輸入密碼后進入MySQL命令行界面。
CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SHOW DATABASES;
DROP DATABASE mydatabase;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES; -- 刷新權限
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'%';
FLUSH PRIVILEGES;
同時需修改防火墻規則允許3306端口(見下文安全部分)。mysqldump導出數據庫(含結構和數據):mysqldump -u myuser -p mydatabase > /backup/mydatabase_$(date +%F).sql
mysql -u myuser -p mydatabase < /backup/mydatabase_2025-09-16.sql
CREATE INDEX idx_username ON users(username);
EXPLAIN分析慢查詢,優化SQL語句(如避免SELECT *、合理使用JOIN)。LIMIT 10000, 10可改用WHERE id > 10000 LIMIT 10)。my.cnf(通常位于/etc/my.cnf)中的關鍵參數:[mysqld]
innodb_buffer_pool_size = 1G # 緩沖池大?。ńㄗh為物理內存的50%-70%)
max_connections = 200 # 最大連接數(根據并發量調整)
query_cache_type = 0 # 關閉查詢緩存(MySQL 8.0+默認關閉)
SELECT、INSERT,而非ALL PRIVILEGES);GRANT ... TO 'myuser'@'192.168.1.100');sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload
my.cnf中的ssl-ca、ssl-cert、ssl-key參數);SHOW STATUS:查看服務器狀態變量(如連接數、查詢次數);SHOW PROCESSLIST:查看當前執行的查詢(識別慢查詢);pt-query-digest(分析慢查詢)、pt-mysql-summary(服務器狀態匯總)等工具。slow_query_log = 1,long_query_time = 2),定期分析并優化慢查詢;log_error = /var/log/mariadb/mariadb.log),排查數據庫異常。sudo yum update mariadb-server);OPTIMIZE TABLE命令,適用于頻繁更新的表)。通過以上步驟,可實現CentOS LAMP環境中數據庫的高效管理,保障數據安全與系統穩定。