mysql主从配置

实例说明:

     主库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复制的起点

mastermysqldump导出 

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; 


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。