涵蓋三種安裝方式、核心配置、常用管理操作、字符集設定、主從複制架構、備份與恢復策略。
sudo apt-get install mysql-server(自動配置環境變數、systemd 服務)。/etc/apt/sources.list 來源從 cn 改 us,下載更快。mysql-5.0.45-linux-i686-icc-glibc23.tar.gz 為例,需手動建立用戶/組、解壓、建立軟連結、初始化資料目錄、設定權限、啟動腳本。cp support-files/my-medium.cnf /etc/my.cnf
# 編輯 my.cnf,在 [mysqld] 下加入
max_connections = 1024
MySQL 讀取 my.cnf 順序:/etc/my.cnf(全域)→ 安裝目錄 my.cnf → datadir/my.cnf。
systemctl start|stop|restart mysql 或 /etc/init.d/mysql start|stop|restart/usr/local/mysql/bin/mysqld_safe --user=mysql & 啟動;mysqladmin -uroot -p shutdown 停止。將啟動指令加入 /etc/rc.local(或建立 systemd service)。
mysql -u root -p
USE mysql;
-- 所有主機
GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
-- 指定主機
GRANT ALL PRIVILEGES ON *.* TO root@'192.168.11.205' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
CREATE DATABASE test1;
GRANT ALL PRIVILEGES ON test1.* TO user_test@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
SHOW VARIABLES LIKE 'character%';/etc/my.cnf(全域生效):
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
init_connect='SET NAMES utf8;'
注意: 僅修改安裝目錄下的 my.cnf 僅影響 Server 端,Client 端需修改 /etc/my.cnf。
mysqldump --default-character-set=latin1 -h localhost -u root -B dbname --tables old_table > old.sqliconv -t utf-8 -f gb2312 -c old.sql > new.sqlnew.sql,在 INSERT 前加 SET NAMES utf8;,將 gb2312 替換為 utf8。mysql -h localhost -u root -p dbname < new.sql(若報 max_allowed_packet 錯誤,調大該參數並重啟)。mysqldump -uroot -p -B dbname > dbname.sqlmysqldump -uroot -p --all-databases > all.sqlmysqldump -uroot -p -B dbname --tables tblname > tblname.sqlmysql -uroot -p < name.sqlmysql -uroot -p dbname < name.sql(必須指定目標庫)。GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.0.87' IDENTIFIED BY 'pwd';FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS;(記下 File、Position)。my.cnf 確認 log-bin=mysql-bin、server-id=1;從庫設 server-id=2(唯一)。CHANGE MASTER TO MASTER_HOST='...', MASTER_USER='repl', MASTER_PASSWORD='pwd', MASTER_LOG_FILE='binlog.000001', MASTER_LOG_POS=123;START SLAVE; 驗證:主庫寫入 → 從庫同步。