1、开启主数据库服务器的binary logging,并且分配唯一的server-id。打开配置文件/etc/qa_my.cnf,并且在[mysqld]分组下增加指令:
[mysqld] log-bin=mysql-bin server-id=3
2、然后重启主服务器:
mysqladmin -uroot -p shutdown /usr/local/mysql/bin/mysqld_safe --user=mysql &
1、为从服务器配置唯一的server-id。打开配置文件/etc/my.cnf,在[mysqld]分组下面增加指令:
[mysqld] server-id=5
2、重启从服务器:
mysqldump-uroot -p shutdown /usr/local/mysq/bin/mysqld_safe --user=mysql &
1、在本地打开一个终端,并给数据表增加读锁,防止写操作的发生:
mysql-h 10.0.0.1 -uxingwang -p ->flush tables with read lock;
2、在本地打开另一个终端,执行以下语句:
mysql-h 10.0.0.1 -uxingwang -p ->show master status;
查询出来的结果当中,File列表示当前的log文件名,Position列表示文件中的位置。
也就是说,现在binlog记录到了这个位置。
1、保持上一部分打开的第一个终端不关闭;
2、将主服务器数据目录下的数据文件拷贝到从服务器。包括目标数据表的文件夹和innodb引擎的ibdata*、ib_logfile*文件:
mkdir /usr/local/mysql/data/test scp xingwang@'10.0.0.1':/usr/local/var/test /usr/local/mysql/data/test scp xingwang@'10.0.0.1':/usr/local/var/ibdata1 /usr/local/mysql/data/ scp xingwang@'10.0.0.1':/usr/local/var/ibdata2 /usr/local/mysql/data/ scp xingwang@'10.0.0.1':/usr/local/var/ib_logfile1 /usr/local/mysql/data/ scp xingwang@'10.0.0.1':/usr/local/var/ib_logfile2 /usr/local/mysql/data/
1、打开一个从服务器的终端,执行一下命令:
mysql-u root -p ->CHANGE MASTER TO MASTER_HOST= '10.0.0.1', MASTER_PORT= '3306', MASTER_USER= 'xingwang', MASTER_PASSWORD= '***', MASTER_LOG_FILE= '', MASETE_LOG_POS= '';
2、执行start salve;