Mysql多個端口設置

一個Mysql(5.5版本)設置多個端口運行多個實例。搞了一天,終於弄好,先備忘一下!
java

1、設置mysqld_multimysql

複製一份my.cnf,重命名爲my_multi.cnfsql

修改my_multi.cnf,主要配置項目以下
數據庫

[mysqld_multi]
mysqld     = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user       = root
password   = 123

#默認的3306端口
[mysqld6]
user		= mysql
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
port		= 3306
basedir		= /usr
datadir		= /var/lib/mysql
tmpdir		= /tmp

#加一個3308的端口
[mysqld8]
user		= mysql
pid-file	= /var/run/mysqld/mysqld8.pid
socket		= /var/run/mysqld/mysqld8.sock
port		= 3308
basedir		= /usr
datadir		= /var/lib/mysql8
tmpdir		= /tmp


2、建立3308端口的數據存儲目錄app

mkdir /var/lib/mysql8
chown mysql:mysql /var/lib/mysql8

3、修改文件/etc/apparmor.d/usr.sbin.mysqldsocket

        修改完成後重啓:/etc/init.d/apparmor restarttcp


/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>
}


4、初始化數據庫ide

mysql_install_db --user=mysql --datadir=/var/lib/mysql8 &


5、重啓數據庫(默認打開3306端口的數據庫)ui

service mysql restart

6、打開3308端口的數據庫spa

 mysqld_multi --defaults-file=/etc/mysql/my_multi.cnf start 8

7、完事,能夠查看下了

netstat -ntlp

  終於看到可喜的結果以下!

tcp    0      0 127.0.0.1:3306     0.0.0.0:*     LISTEN      1402/mysqld
tcp    0      0 127.0.0.1:3308     0.0.0.0:*     LISTEN      2202/mysqld


  1. 啓動:mysqld_multi --defaults-file=/etc/mysql/my_multi.cnf start 8

  2. 登錄:mysql -S /var/run/mysqld/mysq8.sock -P 3308

  3. 關閉:mysqladmin -uroot -S /var/run/mysqld/mysqld8.sock shutdown -p

相關文章
相關標籤/搜索