終於完成了單機上多個mysqld配置,我使用的是mysqld_safe命令來完成的。
Step1:
安裝資料庫:
./configure --prefix=/usr/local/mysql-master
make && make install
./configure --prefix=/usr/local/mysql-slave
make && make install
Step2:從原始碼檔案的support-files檔案夾中拷貝兩份my_small.cnf檔案,放到/etc檔案夾下,分別命名為my-master.cnf,my-slave.cnf
Step3:修改這兩個設定檔的mysqld部分,例如我的設定檔如下:
my-master.cnf:
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
pid-file = /var/run/mysqld/mysqld.pid
server-id = 1
log-bin=mysql-bin
my-slave.cnf:
port = 3307
socket = /tmp/mysql2.sock
skip-locking
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
pid-file = /var/run/mysqld/mysqld2.pid
server-id = 2
Step4:分別對兩個伺服器執行
sudo ./mysql_install_db --defaults-file=/etc/my-master.cnf
sudo ./mysql_install_db --defaults-file=/etc/my-slave.cnf
Step5:修改資料目錄許可權,chown mysql:mysql -R var
Step6:建立pid檔案目錄,並修改許可權
sudo mkdir /var/run/mysqld
sudo chgrp mysql /var/run/mysqld
sudo chmod g+w /var/run/mysqld
最後分別運行相應的伺服器,例如mysql-master:
./mysqld-safe --defaults-file=/etc/my-master.cnf
運行用戶端
./mysql --defaults-file=/etc/my-master.cnf
當然,我們也可以把相應的伺服器啟動語句寫入到指令碼裡,一次啟動兩個伺服器