網上找了N多資料,沒有一個可以順利成功的,鬱悶,可能是水平有限吧...!本人經過不斷的研究、測試,完整實現linux下啟動兩台Mysql,而且對mysql有了更深入的瞭解...廢話不多說,走著!
步驟如下:
一、編譯安裝兩個mysql,步驟如下
下載Mysql ,此處以Mysql-6.0.11-alpha.tar.gz 為例
安裝第一個資料庫(主要資料庫)
(紅色部分為預設資料庫檔案路徑,可改成其他如:data、var等)
tar zxvf mysql-6.0.11-alpha.tar.gz
cd mysql-6.0.11-alpha
./configure --prefix=/usr/local/mysql --sysconfdir=/usr/local/mysql/etc --with-tcp-port=3306 --localstatedir=/usr/local/mysql/localstate --with-unix-socket-path=/tmp/mysql3306.sock --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312,binary --enable-thread-safe-client --with-plugins=innobase --with-mysqld-user=mysql --with-charset=utf8 --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
make && make install
安裝第二個資料庫(從資料庫)
tar zxvf mysql-6.0.11-alpha.tar.gz
cd mysql-6.0.11-alpha
./configure --prefix=/usr/local/mysql3307 --sysconfdir=/usr/local/mysql3307/etc --with-tcp-port=3307 --localstatedir=/usr/local/mysql3307/localstate --with-unix-socket-path=/tmp/mysql3307.sock --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312,binary --enable-thread-safe-client --with-plugins=innobase --with-mysqld-user=mysql --with-charset=utf8 --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
make && make install
如需支援所有字元集 修改為:--with-extra-charsets=all 即可
二、分別初始化資料庫指令碼(在編譯目錄執行下)
scripts/mysql_install_db --basedir=/usr/local/mysql/ --user=mysql
scripts/mysql_install_db --basedir=/usr/local/mysql3307/ --user=mysql
註:可用--datadir=PATH參數指定資料庫檔案路徑,預設為編譯時間-- localstatedir
三、修改從庫設定檔
拷貝設定檔:
cp /usr/local/software/mysql-6.0.11-alpha/support-files/my-medium.cnf /usr/local/mysql/etc/my.cnf
cp /usr/local/software/mysql-6.0.11-alpha/support-files/my-medium.cnf /usr/local/mysql3307/etc/my.cnf
四、修改各個資料庫的my.cnf檔案
主要內容如下:
添加InnoDB支援:
[client]
#password = your_password
port = 3307 --資料庫連接埠號碼
socket = /tmp/mysqls.sock --sock檔案路徑
default-character-set=utf8 --用戶端UTF8串連
[mysqld]
port = 3307 --資料庫連接埠號碼
socket = /tmp/mysqls.sock --sock檔案路徑
default-storage-engine=INNODB
default-character-set=UTF8 --預設字元集
init_connect='SET NAMES utf8' --以UTF8串連
skip-name-resolve --取消DNS反向解析
lower_case_table_names=1 --不區分表名大小寫
啟動資料庫(進入各自目錄)
主:./mysqld_safe &
從:./mysqld_safe &
配置開啟自動:
cp /usr/local/software/mysql-6.0.11-alpha/support-files/mysql.server /etc/init.d/mysql
cp /usr/local/software/mysql-6.0.11-alpha/support-files/mysql.server /etc/init.d/mysql3307
修改/etc/init.d/mysql3007中basedir與datadir為即可
basedir=/usr/local/mysql3307
datadir=/usr/local/mysql3307/var
停止資料庫
主:./mysqladmin shutdown
從:./mysqladmin shutdown
以上各項配置都可以自行修改,以滿足業務需求。