首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Ubuntu MySQL 安裝配置管理全攻略(去重優化版)

     編輯:MySQL 綜合教學

安裝方式速選

  • 生產首選: sudo apt install mysql-server(自動 systemd 整合、安全更新)
  • 指定版本: 官方 mysql-apt-config 選擇 5.7/8.0
  • 手動部署: 二進制 tarball 適用多版本共存、離線環境

核心配置 /etc/mysql/my.cnf 精簡模板

[mysqld]
# 基礎
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
pid-file=/var/run/mysqld/mysqld.pid
port=3306

# 字元集
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

# 連線池
max_connections=1000
thread_cache_size=32

# InnoDB
innodb_buffer_pool_size=2G   # 視記憶體調整
innodb_log_file_size=256M
innodb_flush_log_at_trx_commit=2
innodb_file_per_table=ON

# 日誌
slow_query_log=1
slow_query_log_file=/var/log/mysql/slow.log
long_query_time=1
log_bin=/var/log/mysql/binlog
binlog_format=ROW
server-id=1
expire_logs_days=7

服務管理

systemctl start|stop|restart|status mysql
systemctl enable mysql  # 開機自啟

遠程授權標準流程

CREATE USER 'app'@'10.0.0.%' IDENTIFIED BY 'StrongPass!23';
GRANT SELECT,INSERT,UPDATE,DELETE ON appdb.* TO 'app'@'10.0.0.%';
FLUSH PRIVILEGES;

備份與還原最佳實踐

# 線上熱備份(單交易一致性)
mysqldump --single-transaction --routines --triggers -u root -p dbname > $(date +%F)_dbname.sql

# 壓縮備份
mysqldump --single-transaction -u root -p dbname | gzip > $(date +%F)_dbname.sql.gz

# 還原
gunzip < backup.sql.gz | mysql -u root -p dbname

主從同步(GTID 模式,MySQL 5.6+)

  1. 主庫:gtid_mode=ON, enforce_gtid_consistency=ON, log_slave_updates=ON
  2. 建立同步帳號:GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'pass';
  3. 從庫:CHANGE MASTER TO MASTER_HOST='...', MASTER_USER='repl', MASTER_PASSWORD='pass', MASTER_AUTO_POSITION=1;
  4. START SLAVE; SHOW SLAVE STATUS\G 確認 Slave_IO_Running=Yes, Slave_SQL_Running=Yes

字元集遷移 latin1 → utf8mb4

mysqldump --default-character-set=latin1 --skip-set-charset -u root -p dbname | sed 's/latin1/utf8mb4/g' | mysql --default-character-set=utf8mb4 -u root -p dbname

效能監控關鍵指標

  • SHOW GLOBAL STATUS LIKE 'Threads_connected';
  • SHOW ENGINE INNODB STATUS\G 觀察 Buffer Pool 命中率、行鎖等待
  • mysqldumpslow /var/log/mysql/slow.log 分析慢查詢

總結

Ubuntu + MySQL 運維核心:APT 安裝 → my.cnf 調優 → systemd 管理 → GTID 主從 → 定期備份 → 慢查詢分析。掌握此流程即可應對 90% 生產場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved