MySQL主从介绍,准备工做,配置主, 配置从,测试主从同步

MySQL主从介绍:

主要应用的场景
1.数据备份
2.作为读的库使用,减轻主库的压力
html

 

准备工做:

将主从都启动mysql服务,linux-01做为主mysql,linux-02做为从mysqlmysql

 

配置主:

在主上操做
修改my.cnf,增长server-id=132和log_bin=aminglinux1linux

修改完配置文件后,启动或者重启mysqld服务
/etc/inir.d/mysqld restartsql

 

查看mysql目录下会生成aminglinux1.index索引文件与aminglinux1.000001日志文件,还会生成更多的日志文件,这个文件是主从的根本,很是重要,没有这个文件主从是没有办法完成。数据库

 

把mysql库备份并恢复成aming库,做为测试数据,如下是操做
mysql -uroot进入数据库          =没有设置密码的数据库能够直接回车进入
mysqldump -uroot mysql > /tmp/blog.sql,备份数据库
mysql -uroot -e “create database aming” 建立数据库vim


mysql -uroot aming < /tmp/blog.sql 恢复数据库bash

 

建立用做同步数据的用户
grant replication slave on . to 'repl'@192.168.137.129 identified by 'password'; 指定用记权限与IP服务器


flush tables with read lock; 锁一下表,是为了避免让它再写入数据,状态先保持在这里ide

 

 

将主同步的数据库都备份后再拷贝到从机器去测试

 

 

配置从:

查看my.cnf,配置server-id=130,要求和主不同
vim /etc/my.cnf

修改完配置文件后,启动或者重启mysqld服务
/etc/init.d/mysqld restart
把主上aming库同步到从上
scp 192.168.209.132:/tmp/*.sql /tmp/ 将主的库拷贝到从的/tmp/

若是没有找到 mysql 命令或者 mysqldump 命令,说明没有添加到path变量里面,作两个别名就Ok了。

进入从数据库
mysql -uroot
建立库aming

恢复数据

 

mysql -uroot    =进入数据库
stop slave;    =关闭slave

change master to master_host='', master_user='repl', master_password='', master_log_file='', master_log_pos=xx

start slave;     开启slave

 

show slave status\G                   =查看主从是否成功配置

回到主上执行unlock tables,解锁主库的表

这样主从配置搭建完成。

 

测试主从同步:

几个配置参数

  • 主服务器上
  • binlog-do-db= //仅同步指定的库
  • binlog-ignore-db= //忽略指定库
  • 从服务器上
  • replicate_do_db=  //同步指定的库
  • replicate_ignore_db=  //忽略指定的库
  • replicate_do_table= //同步指定表
  • replicate_ignore_table= //忽略同步表
  • replicate_wild_do_table= //范围模糊同步如aming.%, 支持通配符%
  • replicate_wild_ignore_table=//范围模糊忽略

注:进行从服务器的配置时,尽可能使用replicate_wild_do_table和replicate_wild_ignore_table两个参数

 

 

  • 主上 mysql -uroot aming
  • select count(*) from db;
  • truncate table db;
  • 到从上 mysql -uroot aming
  • select count(*) from db;
  • 主上继续drop table db;
  • 从上查看db表

主服务器:

清空表格wp_users

删除表格wp_users

从服务器:

 

扩展

遇到主从不能正常同步,提示uuid相同的错误。这是由于克隆机器致使。

相关文章
相关标签/搜索