master.cnf文件和slave.cnf文件分别是主mysql和从mysql配置文件。
/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/var/master.cnf &
报错:
The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it). Error_code: 1593
看样子是说我主从id不能一样,可是master.cnf里
server-id = 1
slave.cnf文件里server-id = 2
/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/var/master.cnf &
报错:
The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it). Error_code: 1593
看样子是说我主从id不能一样,可是master.cnf里
server-id = 1
slave.cnf文件里server-id = 2
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 mysqlbak2 rm -r -f mysqlbak1/data
rm -r -f mysqlbak2/data mkdir /data/mysql_bak/mysqlbak1
mkdir /data/mysql_bak/mysqlbak2 ln -s /data/mysql_bak/mysqlbak1 /usr/local/mysqlbak1/data
ln -s /data/mysql_bak/mysqlbak2 /usr/local/mysqlbak2/data
groupadd mysql
useradd -g mysql mysql cd /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.sock replicate-do-db =test
server-id = 101
log-bin = bin_log 3. 起动 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 体验一下