安裝與啟動
sudo apt-get install mariadb-server
sudo yum install mariadb-server
sudo systemctl start mariadb
sudo systemctl enable mariadb
登錄與基礎命令
mysql -u root -p
CREATE DATABASE db_name;
CREATE TABLE table_name (id INT, name VARCHAR(50));
INSERT INTO table_name VALUES (1, 'Alice');
用戶與權限管理
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT, INSERT ON db_name.* TO 'user'@'localhost';
REVOKE SELECT ON db_name.* FROM 'user'@'localhost';
配置參數調優
innodb_buffer_pool_size
(建議設置為物理內存的50%-70%)。max_connections
避免資源耗盡。slow_query_log=1
,分析低效SQL。SQL優化
SELECT *
,只查詢必要字段。EXPLAIN
分析查詢計劃。JOIN
替代子查詢,減少數據庫開銷。系統層面優化
vm.swappiness=1
減少交換分區使用。ulimit
增加文件描述符限制(如 nofile=65535
)。基礎安全加固
mysql_secure_installation
腳本,設置root密碼、刪除匿名用戶、禁止遠程root登錄。/etc/mysql/mariadb.conf.d/50-server.cnf
,將 bind-address
設為 0.0.0.0
以支持遠程訪問(需配合防火墻)。訪問控制與加密
ufw
或 firewalld
)限制3306端口僅允許可信IP訪問。審計與監控
備份與恢復
mysqldump
備份數據庫:mysqldump -u root -p db_name > backup.sql
mysql -u root -p db_name < backup.sql
高可用性配置
my.cnf
實現主庫與從庫數據同步。自動化運維
/var/log/mysql/error.log
,常見原因包括端口沖突、配置文件錯誤。/var/lib/mysql
屬主為 mysql
用戶)。character-set-server=utf8mb4
,并重啟服務。參考來源:[1,2,3,4,5,6,7,8,9,10]