1>、關閉原有的默認端口3306的mysql:service mysqd stop
2>、拷貝或建立數據文件 cp -r /data/mysql/data1 /data/mysql/data_3307 mysql
格式 用bin/mysql_install_db --basedir=mysql的目錄 --datadir=數據存放的目錄 --user=所屬的用戶 web
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/data_3307/ 建立一個新的空數據庫 sql
3>給數據文件賦予mysql用戶與用戶組
chown -R mysql.mysql /data/mysql/data_3307
4>建立multi的配置cnf文件,用於啓動這個mysql實例(如3307)載入執行
touch /usr/local/mysql/my_multi.cnf
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = root #用於登錄和關閉此服務
password = 123456 #同上
[mysqld3307]
socket = /data/mysql/data_3307/mysql_3307.sock
port = 3307
pid-file = /var/lib/mysql_3307/3307.pid
datadir = /data/mysql/data_3307
log = /var/lib/mysql_3307/3307.log
character-set-server = utf8
user = mysql
5>啓動你的多實例
./bin/mysqld_multi --defaults-extra-file=/usr/local/mysql/my_multi.cnf start 3307
question:my_print_defaults command not found.
solve:export PATH=/usr/local/mysql/bin:$PATH(只只是臨時有效,要永久生效,在/etc/profile編輯)
6>檢查是否啓動成功
端口監聽 netstat -ntlp
活動進程 ps -ef | grep mysql
若是沒有發現你要的端口號mysql實例,能夠檢查下/var/lib/mysql_3307/3307.log文件,排除問題
7>設置新的密碼mysqladmin -uroot -S /data/mysql/data_3307/mysql_3307.sock password 123456
8>報錯/usr/sbin/mysqld: ambiguous option '--log=/var/lib/mysql/mysql.log' (log-bin, log_slave_updates)
猜想配置文件出錯,那個log應該是舊版本的配置吧,改換general_log_file= /var/lib/mysql_3307/3307.log
9>登錄
端口登錄./bin/mysql -uroot -p -h127.0.0.1 -P3306
socket文件登錄 mysql -S /data/mysql/data_3307/mysql_3307.sock
10>加到開機啓動(service mysqld_multi report/start 端口使用)
將啓動腳本複製一份cp /usr/local/mysql/support-files/mysqld_multi.server /etc/init.d/mysqld_multi
報了一個錯誤 是找不到 my_print_defaults
解決:ln -s /usr/local/mysql/bin/my_print_defaults /usr/bin/