標籤:
一個Mysql(5.5版本)設定多個連接埠運行多個執行個體。搞了一天,終於弄好,先備忘一下!
一、設定mysqld_multi
複製一份my.cnf,重新命名為my_multi.cnf
修改my_multi.cnf,主要設定項目如下
[mysqld_multi]mysqld = /usr/bin/mysqld_safemysqladmin = /usr/bin/mysqladminuser = rootpassword = 123#預設的3306連接埠[mysqld6]user= mysqlpid-file= /var/run/mysqld/mysqld.pidsocket= /var/run/mysqld/mysqld.sockport= 3306basedir= /usrdatadir= /var/lib/mysqltmpdir= /tmp#加一個3308的連接埠[mysqld8]user= mysqlpid-file= /var/run/mysqld/mysqld8.pidsocket= /var/run/mysqld/mysqld8.sockport= 3308basedir= /usrdatadir= /var/lib/mysql8tmpdir= /tmp
二、建立3308連接埠的資料存放區目錄
mkdir /var/lib/mysql8chown mysql:mysql /var/lib/mysql8
三、修改檔案/etc/apparmor.d/usr.sbin.mysqld
修改完成後重啟:/etc/init.d/apparmor restart
/usr/sbin/mysqld { #include <abstractions/base> #include <abstractions/nameservice> #include <abstractions/user-tmp> #include <abstractions/mysql> #include <abstractions/winbind> capability dac_override, capability sys_resource, capability setgid, capability setuid, network tcp, /etc/hosts.allow r, /etc/hosts.deny r, /etc/mysql/*.pem r, /etc/mysql/conf.d/ r, /etc/mysql/conf.d/* r, /etc/mysql/*.cnf r, /usr/lib/mysql/plugin/ r, /usr/lib/mysql/plugin/*.so* mr, /usr/sbin/mysqld mr, /usr/share/mysql/** r, /var/log/mysql.log rw, /var/log/mysql.err rw, /var/lib/mysql/ r, /var/lib/mysql/** rwk, /var/log/mysql/ r, /var/log/mysql/* rw, /var/run/mysqld/mysqld.pid rw, /var/run/mysqld/mysqld.sock w, /run/mysqld/mysqld.pid rw, /run/mysqld/mysqld.sock w, #####主要是添加這些讀寫權限資訊,不然後期會報一些莫名的錯誤 /var/lib/mysql8/ r, /var/lib/mysql8/** rwk, /var/run/mysqld/mysqld8.pid rw, /var/run/mysqld/mysqld8.sock w, /run/mysqld/mysqld8.pid rw, /run/mysqld/mysqld8.sock w, /sys/devices/system/cpu/ r, # Site-specific additions and overrides. See local/README for details. #include <local/usr.sbin.mysqld>}
四、初始化資料庫
mysql_install_db --user=mysql --datadir=/var/lib/mysql8 &
五、重新資料庫(預設開啟3306商品的資料庫)
service mysql restart
六、開啟新設定連接埠的資料庫
mysqld_multi --defaults-file=/etc/mysql/my_multi.cnf start 8
七、完事,可以查看下了
netstat -ntlp
終於看到可喜的結果如下!
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1402/mysqldtcp 0 0 127.0.0.1:3308 0.0.0.0:* LISTEN 2202/mysqld
Mysql多個連接埠設定