mysql以多實例的方式,實現一臺服務器,運行在不同端口不同數據文件的mysql,它們是相互獨立的。
1、關閉原有的默認端口3306的mysql:service mysqd stop
2、拷貝或創建數據文件
#拷貝現有的mysql數據庫文件#我的在/var/lib/mysql,拷貝一份至mysql_3307文件夾[root@xuegod63 ~]# cp -r /var/lib/mysql /var/lib/mysql_3307
#創建一個新的空數據庫[root@xuegod63 ~]# mkdir /var/lib/mysql_3307[root@xuegod63 ~]# mysql_install_db--datadir=/var/lib/mysql_3307 --user=mysql
3、給數據文件賦予mysql用戶與用戶組
[root@xuegod63 ~]# chown -R mysql.mysql /var/lib/mysql_3307
4、創建multi的配置cnf文件,用于啟動這個mysql實例(如3307)載入執行
[root@xuegod63 ~]# touch /usr/local/my_multi.cnf
文件中寫入你想要的配置,如下為典型配置:
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = root
password = 123456
[mysqld3307]
socket = /tmp/mysql_3307.sock
port = 3307
pid-file = /var/lib/mysql_3307/3307.pid
datadir = /var/lib/mysql_3307/
log = /var/lib/mysql_3307/3307.log
character-set-server = utf8
user = mysql
5、啟動你的多實例
[root@xuegod63 ~]# mysqld_multi--defaults-extra-file=/usr/local/my_multi.cnf start 3307
6、檢查是否啟動成功
[root@xuegod63 桌面]# netstat -natup |grep mysql
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 3450/mysqld
如果沒有發現你要的端口號mysql實例,可以檢查下/var/lib/mysql_3307/3307.log文件,排除問題
7、設置新的密碼
[root@xuegod63 ~]# mysqladmin -uroot -S/tmp/mysql_3307.sock password 123456
8、登入你的新實例
[root@xuegod63 ~]#mysql -uroot -S /tmp/mysql_3307.sock -p
Enter password:123456
再次確認下,你的這個實例,是不是用的mysql_3307這個文件夾的數據
發現一個新實例已經啟動起來了.
然后我們啟動一下原來的實例:service mysqld restart
然后我們來看看是否啟動起來兩個實例:
OK,我們發現兩個實例兩個端口都已經啟動
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。