实例说明:
主库IP:0.0.0.43
从库IP:0.0.0.194
一、配置主库 (0.0.0.43 )
1、编辑主库配置文件/etc/my.cnf,注意位置,添加在[mysqld]下面,不要添加到[mysqld_safe]下面
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql old_passwords=1 max_connections=10000 join_buffer_size = 64M read_buffer_size = 128M key_buffer = 512M open-files-limit = 28196 query_cache_type=2 query_cache_size = 32M tmp_table_size = 1024M long_query_time=2 log-slow-queries = /var/log/mysql/slowquery.log #以下开始是主从配置 server-id=1 #主库一般是1,从库写别的,不重复就行 log-bin=my_binglog #开启日志记录,这样就可以支持主从了 log_bin=/var/log/mysql/mysql-bin.log expire_logs_days=10 max_binlog_size=100M binlog_do_db=abc #需要被分发的主数据库名 binlog_ignore_db=test #不需要被分发的主数据库名 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
binlog_do_db为需要复制的db。 binlog_ignore_db为忽略复制的db。需要增加DB的话,就增加相应的一行。
2、重启master数据库,运行检查
mysql> show master status; #检查是否以master形式启动了。 #注意以下内容,这是作为主从同步的依据: master_log_file主库当前的日志文件 master_log_pos主库的日志文件偏移量 mysql> show variables like "%log%"; #需要看到这样的一行,说明binlog已经开启了: log_bin | ON
3.在master上为slave建立用户
mysql> grant replication slave,reload,super on *.* to ‘slave‘@‘0.0.0.194‘ identified by ‘123456‘;
这样,主机配置完毕。
二、配置从库 (0.0.0.194 )
1、编辑从库配置文件/etc/my.cnf,注意位置,添加在[mysqld]下面,不要添加到[mysqld_safe]下面
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql old_passwords=1 max_connections=10000 join_buffer_size = 64M read_buffer_size = 128M key_buffer = 512M open-files-limit = 28196 query_cache_type=2 query_cache_size = 32M tmp_table_size = 1024M long_query_time=2 log-slow-queries = /var/log/mysql/slowquery.log #以下开始是主从配置 server-id=2 #主库一般是1,从库写别的,不重复就行 binlog_do_db=abc #需要被分发的主数据库名 binlog_ignore_db=test #不需要被分发的主数据库名 #主从配置内容结束 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
2、登录从库,执行从库配置命令
master TO master_host=‘0.0.0.43‘, master_port=3306, master_user=‘slave‘, master_password=‘123456‘, master_log_file=‘my_binglog.000001‘, master_log_pos=107;
然后start slave
检查salve状态
slave:mysql> show slave status; #很多很多列
6.将主机数据 copy 过来
//清空表缓存并且锁住表 mysql>flush tables with read lock; //查看binlog并记录下来 mysql>show master status; file+position就是slave复制的起点
master用mysqldump导出
mysqldump -h192.168.1.109 -uroot -prpassoot360 --default-character-set=utf8 zanshop>/web/zanshop0817.utf8.sql
slave建好同名数据库,导入
mysql>source /web/zanshop0817.utf8.sql;(在mysql命令下执行,可导入表,先创建数据库且设置编码为utf-8,然后要使用 use zanchaoshi; 进入数据库)
1. //解除数据库锁定
2. mysql>unlock tables;
顺序重启主从两个数据库
7.完毕,在主数据库进行增删修改,看从数据库是否有更新。
源自:http://www.luochunhui.com/id/550
http://www.d5s.cn/archives/95
CHANGE master TO master_host=‘119.254.85.35‘, master_port=3306, master_user=‘slave‘, master_password=‘123456‘, master_log_file=‘mysql-bin.000049‘, master_grant replication slave,reload,super on *.* to ‘slave‘@‘%‘ identified by ‘123456‘;
CHANGE master TO master_host=‘119.254.85.35‘, master_port=3306, master_user=‘slave‘, master_password=‘123456‘, master_log_file=‘mysql-bin.000049‘, master_log_pos=107;
log_pos=107;
原文地址:http://ycgit.blog.51cto.com/8590215/1653970