標籤:
在實際的開發過程中,可能會需要在一台伺服器上部署多個MYSQL執行個體,那建議使用MYSQL官方的解決方案 mysqld_multi
1.修改my.cnf
如一個定義兩個執行個體的參考配置:
[mysqld_multi] mysqld = /usr/local/mysql/bin/mysqld_safe mysqladmin = /usr/local/mysql/bin/mysqladmin user = your_user password = your_password [mysqld1] datadir = /data/db/my1 #串連 port = 3306 socket = /tmp/mysql3306.sock #binlog log-bin=/data/db/mylog1/mysql-bin binlog_format=mixed binlog_cache_size = 32M expire_logs_days = 30 [mysqld2] datadir = /data/db/my2 #串連 port = 3307 socket = /tmp/mysql3307.sock #binlog log-bin=/data/db/mylog2/mysql-bin binlog_format=mixed binlog_cache_size = 32M expire_logs_days = 3
2.建立資料目錄
mkdir -p /data/db/my21 mkdir -p /data/db/my2 chown mysql.mysql /data/db/my1 -R chown mysql.mysql /data/db/my2 -R
3.初始化DB
/usr/local/mysql/scripts/mysql_install_db --datadir=/data/db/my1/ -uroot (mysql_install_db也是MYSQL官方內建工具) /usr/local/mysql/scripts/mysql_install_db --datadir=/data/db/my2/ -uroot chown mysql.mysql /data/db/my1/ -R chown mysql.mysql /data/db/my2/ -R
4. 安裝工具
cp /usr/local/mysql/bin/my_print_defaults /usr/bin/ cp /usr/local/mysql/bin/mysqld_multi /usr/bin/
5.建立、授權使用者
CREATE USER "your_user"@"192.168.45.127%" IDENTIFIED BY ‘your_password‘; GRANT ALL PRIVILEGES ON *.* TO "your_user"@"192.168.1.%"; flush privileges;
至此,mysql多執行個體配置已經完畢。我們看到多個不同的MYSQL執行個體是共用my.cnf的。多執行個體命令列管理:
1.mysql啟動
mysqld_multi start 1 啟動執行個體1 mysqld_multi start 1-2 啟動執行個體1,2
2.mysql重啟
mysqld_multi restart 1 重啟執行個體1 mysqld_multi restart 1-2 重啟執行個體1,2
3.mysql關閉
mysqld_multi stop 1 關閉執行個體1 mysqld_multi stop 1-2 關閉執行個體1,2
4.命令列登陸執行個體2
mysql -u your_user -p your_password -P3307 -S /tmp/mysql3307.sock
mysql多執行個體配置