MySQL 5.6同一物理主機配置多例項

feelpurple發表於2017-07-29
1. 規劃目錄
建立軟體目錄,多個例項共用一個軟體目錄
[root@localhost ~]# mkdir  /mysql_software_56

單例項原始碼安裝流程可以參考
MySQL 5.6原始碼編譯安裝流程
http://blog.itpub.net/26506993/viewspace-2142773/


--埠號為3306例項的相關目錄
建立資料檔案目錄和日誌目錄
[root@localhost ~]# mkdir -p /my3306/data
[root@localhost ~]# mkdir -p /my3306/log/iblog
[root@localhost ~]# mkdir -p /my3306/log/binlog
建立存放Pid和臨時檔案目錄
[root@localhost ~]# mkdir -p /my3306/run
[root@localhost ~]# mkdir -p /my3306/tmp
引數檔案
cat /etc/my_5.6_3306.cnf 
[mysqld]
basedir=/mysql_software_56
datadir=/my3306/data
port=3306
socket=/my3306/run/mysql.sock
pid_file=/my3306/run/mysqld.pid

--埠號為3307例項的相關目錄
建立資料檔案目錄和日誌目錄
[root@localhost ~]# mkdir -p /my3307/data
[root@localhost ~]# mkdir -p /my3307/log/iblog
[root@localhost ~]# mkdir -p /my3307/log/binlog
建立存放Pid和臨時檔案目錄
[root@localhost ~]# mkdir -p /my3307/run
[root@localhost ~]# mkdir -p /my3307/tmp
引數檔案
cat /etc/my_5.6_3307.cnf 
[mysqld]
basedir=/mysql_software_56
datadir=/my3307/data
port=3307
socket=/my3307/run/mysql.sock
pid_file=/my3307/run/mysqld.pid

2. 在初始化MySQL的時候,使用不同的引數檔案,不同的資料目錄
--初始埠號為3306例項
/mysql_software_56/scripts/mysql_install_db  --defaults-file=/etc/my_5.6_3306.cnf --datadir=/my3306/data/ --user=mysql

--初始埠號為3307例項
/mysql_software_56/scripts/mysql_install_db --defaults-file=/etc/my_5.6_3307.cnf --datadir=/my3307/data/ --user=mysql

3. 啟動資料庫(使用不同的引數檔案)
--啟動埠號為3306例項
/mysql_software_56/bin/mysqld_safe --defaults-file=/etc/my_5.6_3306.cnf --user=mysql &

--啟動埠號為3307例項
/mysql_software_56/bin/mysqld_safe --defaults-file=/etc/my_5.6_3307.cnf --user=mysql &

--檢視程式,可以發現兩個mysqld程式,對應不同的引數檔案
[root@localhost log]# ps -ef|grep mysql
root     61998 50095  0 07:31 pts/4    00:00:00 /bin/sh /mysql_software_56/bin/mysqld_safe --defaults-file=/etc/my_5.6_3307.cnf --user=mysql
mysql    62848 61998  1 07:31 pts/4    00:00:05 /mysql_software_56/bin/mysqld --defaults-file=/etc/my_5.6_3307.cnf --basedir=/mysql_software_56 --datadir=/my3307/data --plugin-dir=/mysql_software_56/lib/plugin --user=mysql --log-error=/my3307/log/error.log --open-files-limit=65535 --pid-file=/my3307/run/mysqld.pid --socket=/my3307/run/mysql.sock --port=3307
root     62930 50095  0 07:39 pts/4    00:00:00 /bin/sh /mysql_software_56/bin/mysqld_safe --defaults-file=/etc/my_5.6_3306.cnf --user=mysql
root     63780 62930 22 07:39 pts/4    00:00:04 /mysql_software_56/bin/mysqld --defaults-file=/etc/my_5.6_3306.cnf --basedir=/mysql_software_56 --datadir=/my3306/data --plugin-dir=/mysql_software_56/lib/plugin --user=mysql --log-error=/my3306/log/error.log --open-files-limit=65535 --pid-file=/my3306/log/run/mysqld.pid --socket=/my3306/log/run/mysql.sock --port=3306

4. 連線資料庫(使用不同的socket檔案和不同的埠號)
--連線埠號為3306例項
/mysql_software_56/bin/mysql -uroot -p --socket=/my3306/run/mysql.sock
/mysql_software_56/bin/mysql -uroot -p -h 127.0.0.1 -P 3306

--連線埠號為3307例項
/mysql_software_56/bin/mysql -uroot -p --socket=/my3307/run/mysql.sock
/mysql_software_56/bin/mysql -uroot -p -h 127.0.0.1 -P 3307

5. 關閉資料庫(使用不同的埠號)
--關閉埠號為3306例項
/mysql_software_56/bin/mysqladmin -uroot -p -P 3306 shutdown
Enter password: 
170729 07:42:37 mysqld_safe mysqld from pid file /my3306/log/run/mysqld.pid ended
[2]+  Done                    /mysql_software_56/bin/mysqld_safe --defaults-file=/etc/my_5.6_3306.cnf --user=mysql
[root@localhost log]# ps -ef | grep mysql
root     61998 50095  0 07:31 pts/4    00:00:00 /bin/sh /mysql_software_56/bin/mysqld_safe --defaults-file=/etc/my_5.6_3307.cnf --user=mysql
mysql    62848 61998  0 07:31 pts/4    00:00:06 /mysql_software_56/bin/mysqld --defaults-file=/etc/my_5.6_3307.cnf --basedir=/mysql_software_56 --datadir=/my3307/data --plugin-dir=/mysql_software_56/lib/plugin --user=mysql --log-error=/my3307/log/error.log --open-files-limit=65535 --pid-file=/my3307/run/mysqld.pid --socket=/my3307/run/mysql.sock --port=3307

--關閉埠號為3307例項
/mysql_software_56/bin/mysqladmin -uroot -p -P 3307 shutdown

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2142779/,如需轉載,請註明出處,否則將追究法律責任。

相關文章