方法一
主服务器上
〉flush tables with read lock; #锁表,暂不允许写入,注意这条锁表命令退出就失效了
重新另开一终端导出数据
/usr/local/mysql-m/bin/mysqldump -uroot –p123123-S /var/run/mysql-m/mysql-m.sock --databases ding >/data.sql
scp /data.sql dingmy@172.30.205.88:/home/dingmy/ #将数据文件远程传输给从服务器
从服务器上
/usr/local/mysql-s1/bin/mysql -uroot -S/var/run/mysql-s1/mysql-s1.sock <data.sql
进入即可发现有ding数据库,并且数据内容与主服务器相同
>change master tomaster_host='172.30.205.87',master_user='s1',master_password='123123',master_port=3307,master_log_file='mysql-bin.000009',master_log_pos=2420; (在此步骤前要进入主服务器中查询pos和file (show masterstatus\G),并在此步骤后解锁(unlock tables;))
>start slave;
>show slave status\G (注:要保证Slave_IO_Running和Slave_SQL_Running都为 Yes)
方法二
进入从服务器,停掉mysql服务,删除存储数据的文件夹内的所有文件
# service mysql-s1 stop
# rm -rf /opt/database-s1/*
再执行# /usr/local/mysql-s1/scripts/mysql_install_db--basedir=/usr/local/mysql-s1 --datadir=/opt/database-s1 --user=mysql
启动mysql服务后进入
# /usr/local/mysql-s1/bin/mysql -uroot -p-S /var/run/mysql-s1/mysql-s1.sock
> change master tomaster_host='172.30.205.87',master_user='s1',master_password='123123',master_port=3307,master_log_file='mysql-bin.000001',master_log_pos=1; (一般从120开始,可以填120,也可填写1)
>start slave;
>show slave status\G (注:要保证Slave_IO_Running和Slave_SQL_Running都为 Yes)