好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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://HdhCmsTestluochunhui测试数据/id/550 
http://HdhCmsTestd5s.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; 


mysql主从配置

标签:mysql主从   mysql主从配置   

查看更多关于mysql主从配置的详细内容...

  阅读:28次