1. 安装程序
cd /usr/local
tar zxvf mysql-standard-4.1.14-pc-linux-gnu-i686.tar.gz
cp -r mysql-standard-4.1.14-pc-linux-gnu-i686 mysqlbak1
cp -r mysql-standard-4.1.14-pc-linux-gnu-i686 mysqlbak2rm -r -f mysqlbak1/data
rm -r -f mysqlbak2/datamkdir /data/mysql_bak/mysqlbak1
mkdir /data/mysql_bak/mysqlbak2ln -s /data/mysql_bak/mysqlbak1 /usr/local/mysqlbak1/data
ln -s /data/mysql_bak/mysqlbak2 /usr/local/mysqlbak2/data
groupadd mysql
useradd -g mysql mysqlcd /usr/local/mysqlbak1/
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .cd /usr/local/mysqlbak2/
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .chown -R mysql /data/mysql_bak
chgrp -R mysql /data/mysql_bak
2. 修改配置文件: 分别配置两个mysql实例的 port,socker,server-id 必须不相同
在 目录/etc 下不要放my.cnf
my.cnf 分别放在 数据目录 /usr/local/mysqlbak[12]/data/下
注意my.cnf的权限[client]
port = 3306
socket = /usr/local/mysqlbak1/data/mysql.sock[mysqld]
bind-address = 172.23.9.118
port = 3306
socket = /usr/local/mysqlbak1/data/mysql.sockreplicate-do-db =test
server-id = 101
log-bin = bin_log3. 起动 mysql
cd /usr/local/mysqlbak1
bin/safe_mysqld --user=mysql &cd /usr/local/mysqlbak2
bin/safe_mysqld --user=mysql &
3. 分别增加用户
GRANT REPLICATION SLAVE ON *.* TO 'rep'@'172.23.9.118' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'rep'@'172.23.9.118' IDENTIFIED BY '123456'; 4.
两个实例分别运行 show master status ;
记录下File 和 Position
5. 分别在两个实例中增加同步点
CHANGE MASTER TO
MASTER_HOST='172.23.9.118',
MASTER_PORT=3306,
MASTER_USER='rep',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='bin_log.000001',
MASTER_LOG_POS=79;
CHANGE MASTER TO
MASTER_HOST='172.23.9.118',
MASTER_PORT=3307,
MASTER_USER='rep',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='bin_log.000001',
MASTER_LOG_POS=79;
6. 测试
在 database: test 体验一下
cd /usr/local
tar zxvf mysql-standard-4.1.14-pc-linux-gnu-i686.tar.gz
cp -r mysql-standard-4.1.14-pc-linux-gnu-i686 mysqlbak1
cp -r mysql-standard-4.1.14-pc-linux-gnu-i686 mysqlbak2rm -r -f mysqlbak1/data
rm -r -f mysqlbak2/datamkdir /data/mysql_bak/mysqlbak1
mkdir /data/mysql_bak/mysqlbak2ln -s /data/mysql_bak/mysqlbak1 /usr/local/mysqlbak1/data
ln -s /data/mysql_bak/mysqlbak2 /usr/local/mysqlbak2/data
groupadd mysql
useradd -g mysql mysqlcd /usr/local/mysqlbak1/
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .cd /usr/local/mysqlbak2/
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .chown -R mysql /data/mysql_bak
chgrp -R mysql /data/mysql_bak
2. 修改配置文件: 分别配置两个mysql实例的 port,socker,server-id 必须不相同
在 目录/etc 下不要放my.cnf
my.cnf 分别放在 数据目录 /usr/local/mysqlbak[12]/data/下
注意my.cnf的权限[client]
port = 3306
socket = /usr/local/mysqlbak1/data/mysql.sock[mysqld]
bind-address = 172.23.9.118
port = 3306
socket = /usr/local/mysqlbak1/data/mysql.sockreplicate-do-db =test
server-id = 101
log-bin = bin_log3. 起动 mysql
cd /usr/local/mysqlbak1
bin/safe_mysqld --user=mysql &cd /usr/local/mysqlbak2
bin/safe_mysqld --user=mysql &
3. 分别增加用户
GRANT REPLICATION SLAVE ON *.* TO 'rep'@'172.23.9.118' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'rep'@'172.23.9.118' IDENTIFIED BY '123456'; 4.
两个实例分别运行 show master status ;
记录下File 和 Position
5. 分别在两个实例中增加同步点
CHANGE MASTER TO
MASTER_HOST='172.23.9.118',
MASTER_PORT=3306,
MASTER_USER='rep',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='bin_log.000001',
MASTER_LOG_POS=79;
CHANGE MASTER TO
MASTER_HOST='172.23.9.118',
MASTER_PORT=3307,
MASTER_USER='rep',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='bin_log.000001',
MASTER_LOG_POS=79;
6. 测试
在 database: test 体验一下
那么在第3 步起动 mysql 前把数据库文件同步,
在第3步后,运行 flush tables with read lock;