1、更改master和slave配置文件 master配置文件 # cp/mysql/suppots-file/my-default-cnf [client] port= socket= [mysqld] basedir= datadir= port= server-id= socket=/data/mysql.sock log-bin=/data/mysql_bin binlog_format=mixed/row/sql binlog-do-db= binlog-ignore-db= long_query_time=1 relay-log=/data/relay_bin relay-log-info-file=/data/relay_log.info [mysqld_safe] log-error=/data/mysql_err.log pid-file=/data/mysql_pid.pid
slave配置文件 # cp/mysql/suppots-file/my-default-cnf [client] port= socket= [mysqld] basedir= datadir= port= server-id= socket=/data/mysql.sock log-bin=/data/mysql_bin binlog_format=mixed/row/sql binlog-do-db= binlog-ignore-db= long_query_time=1 relay-log=/data/relay_bin relay-log-info-file=/data/relay_log.info [mysqld_safe] log-error=/data/mysql_err.log pid-file=/data/mysql_pid.pid 2、打开二进制日志log-bin= 3、设置不同server-id= 4、授权主从复制的用户密码 mysql> grant replication slave on*.* to 'rep'@'192.168.1.101' identified by 'oracle'; mysql> flush privileges; 5、锁表 mysql> flush table with read lock; 6、重新打开一个窗口(第二个窗口)做备份 mysqldump -h127.0.0.1 -uroot -poracle--port=3307 -S /data/mysql.sock -A -B --events -X --master-data=1 |gzip>/opt/rep.sql.gz 注意: -A备份全部 -B在备份文件中生成create table的命令,恢复时不需要指定数据库 -X锁表 --master-data=1不需要通过show master status查看二进制文件和位置,会在备份文件中记录,如果二进制文件不被删除,那么什么时候都可以做从库 7、在第一个窗口解锁 unlock tables; 8、在slave上做change master to操作 change master to -> master_host='192.168.1.102', -> master_port=3307, -> master_user='rep', -> master_password='oracle', ->master_log_file='mysqlbin.000003', ->master_log_pos=408; 如果在备份的时候使用了--master-data=1参数,那么这里就不用最后两句即可: 上列的这些信息会存放在slave的数据库目录的master.info中,下列查看: [iyunv@mysql03 3308]# ll total 110660 -rw-rw----. 1 mysql mysql 56 Jun 17 07:14 auto.cnf -rw-rw----. 1 mysql mysql 12582912 Jun17 13:23 ibdata1 -rw-rw----. 1 mysql mysql 50331648 Jun17 13:23 ib_logfile0 -rw-rw----. 1 mysql mysql 50331648 Jun17 07:05 ib_logfile1 -rw-rw----. 1 mysql mysql 88 Jun 17 15:25 master.info drwx------. 2 mysql mysql 4096 Jun 17 07:05 mysql -rw-rw----. 1 mysql mysql 5 Jun 17 13:23 mysql03.pid -rw-r-----. 1 mysql mysql 40502 Jun 17 15:25 mysql_err.log drwx------. 2 mysql mysql 4096 Jun 17 07:05 performance_schema drwx------. 2 mysql mysql 4096 Jun 17 07:05 test [iyunv@mysql03 3308]# cat master.info 23 mysqlbin.000003 408 192.168.1.102 rep oracle 3307 60 0 9、开启复制 mysql> start slave; Query OK, 0 rows affected (0.05 sec)
|