MYSQL多實例配置方法 mysqld_multi方法

在實際的開發過程中,可能會需要在一臺服務器上部署多個MYSQL實例,那建議使用MYSQL官方的解決方案 mysqld_multi
1.修改my.cnf
如一個定義兩個實例的參考配置

  1. [mysqld_multi]

  2. mysqld = /usr/local/mysql/bin/mysqld_safe

  3. mysqladmin = /usr/local/mysql/bin/mysqladmin

  4. user = your_user

  5. password = your_password

  6. [mysqld1]

  7. datadir = /data/db/my1

  8. #連接

  9. port = 3306

  10. socket = /tmp/mysql3306.sock

  11. #binlog

  12. log-bin=/data/db/mylog1/mysql-bin

  13. binlog_format=mixed

  14. binlog_cache_size = 32M

  15. expire_logs_days = 30

  16. [mysqld2]

  17. datadir = /data/db/my2

  18. #連接

  19. port = 3307

  20. socket = /tmp/mysql3307.sock

  21. #binlog

  22. log-bin=/data/db/mylog2/mysql-bin

  23. binlog_format=mixed

  24. binlog_cache_size = 32M

  25. expire_logs_days = 3

複製代碼



2.創建數據目錄

  1. mkdir -p /data/db/my21

  2. mkdir -p /data/db/my2

  3. chown mysql.mysql /data/db/my1 -R

  4. chown mysql.mysql /data/db/my2 -R

複製代碼



3.初始化DB

  1. /usr/local/mysql/scripts/mysql_install_db --datadir=/data/db/my1/ -uroot (mysql_install_db也是MYSQL官方自帶工具)

  2. /usr/local/mysql/scripts/mysql_install_db --datadir=/data/db/my2/ -uroot

  3. chown mysql.mysql /data/db/my1/ -R

  4. chown mysql.mysql /data/db/my2/ -R

複製代碼



4. 安裝工具

  1. cp /usr/local/mysql/bin/my_print_defaults /usr/bin/

  2. cp /usr/local/mysql/bin/mysqld_multi /usr/bin/

複製代碼



5.創建、授權用戶

  1. CREATE USER "your_user"@"192.168.1.%" IDENTIFIED BY 'your_password';

  2. GRANT ALL PRIVILEGES ON *.* TO "your_user"@"192.168.1.%";

  3. flush privileges;

複製代碼




至此,mysql多實例配置已經完畢。我們看到多個不同的MYSQL實例是共用my.cnf的。多實例命令管理
1.mysql啓動

  1. mysqld_multi start 1 啓動實例1

  2. mysqld_multi start 1-2 啓動實例1,2

複製代碼


2.mysql重啓
  1. mysqld_multi restart 1 重啓實例1

  2. mysqld_multi restart 1-2 重啓實例1,2

複製代碼



3.mysql關閉

  1. mysqld_multi stop 1 關閉實例1

  2. mysqld_multi stop 1-2 關閉實例1,2

複製代碼



4.命令行登陸實例2

  1. mysql -u your_user -p your_password -P3307 -S /tmp/mysql3307.sock

複製代碼


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章