mysql linux 多個實例

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/
相關文章
相關標籤/搜索