您好,登录后才能下订单哦!
这篇文章主要介绍“mysql主主和主从的搭建方法”,在日常操作中,相信很多人在mysql主主和主从的搭建方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql主主和主从的搭建方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
	建立mysql 主主
	  server1_mysql:192.168.1.108
	  server2_mysql: 192.168.1.110
	  拓扑结构:
	  server1_mysql-------server2_mysql
	  1.创建用户并授权
	  server1:
	  mysql> GRANT REPLICATION SLAVE ON *.* TO 
	  IDENTIFIED BY 'server2';
	  mysql> flush privileges;
	  server2:
	  mysql> GRANT REPLICATION SLAVE ON *.* TO 
	  IDENTIFIED BY 'server1';
	  2.修改Mysql的主配置文件/etc/my.cnf
	 
	  server1:
	log-bin=mysql-bin #必须要开启二进制日志
	server-id = 1  #另外一台id改成2
	binlog-do-db=test  #填写需要同步的
	binlog-ignore-db=  #填写不需要同步的数据库
	replicate-do-db=test #填写需要同步的数据库
	replicate-ignore-db=mysql
	log-slave-updates
	slave-skip-errors=all
	sync_binlog=1
	auto_increment_increment=1 #每次增长2
	auto_increment_offset=1 #设置自动增长的字段的偏移量,即初始值为2
	 
	启动Mysql服务:
	  # service mysqld restart
	  server2:
	log-bin=mysql-bin #必须要开启二进制日志
	server-id = 2
	binlog-do-db=test  #填写需要同步的数据库
	binlog-ignore-db=mysql  #填写不需要同步的数据库
	replicate-do-db=test #填写需要同步的数据库
	replicate-ignore-db=mysql
	log-slave-updates
	slave-skip-errors=all
	sync_binlog=1
	auto_increment_increment=2 #每次增长2
	auto_increment_offset=1 #设置自动增长的字段的偏移量,即初始值为2
	  启动Mysql服务:
	  # service mysqld restart
	  注:二都只有server-id不同和 auto-increment- offset不同
	  auto-increment-increment的值应设为整个结构中服务器的总数,本案例用到两
	  台服务器,所以值设为2。
	  3.重新启动两个服务器
	  # service mysqld restart
	  4.为了让两个数据库一样,我们备份其中一个数据库,然后在另一个数据库上恢
	  复,这样是两个数据库一开始都是一样的。
	  在server1上操作:
	  # mysqldump --databases luowei > /tmp/luowei.sql
	  在server2上操作:
	  创建一个与mydb同名的空数据库
	  # mysql
	  > CREATE DATABASE mydb;
	  >\q
	  # scp 192.168.1.108:/tmp/mydb.sql ?./
	  # mysql -uroot -p mydb < /tmp/luowei.sql
	  5.然后两个服务器相互通告二进制日志的位置并启动复制功能:
	  在server1上:
	  # mysql
	  > CHANGE MASTER TO
	  > MASTER_HOST='192.168.1.110',
	  > MASTER_USER='server2',
	  > MASTER_PASSWORD='server2';
	  mysql > START SLAVE;
	  在server2上:
	  # mysql
	  > CHANGE MASTER TO
	  > MASTER_HOST='192.168.1.108',
	  > MASTER_USER='server1',
	  > MASTER_PASSWORD='server1';
	  mysql > START SLAVE;
	  6.查看,并验证:
	  分别在两个数据库服务器上查看
	  mysql > START SLAVE;
	  然后查看数据库和表,你会发现内容是一样的,这样就是整个主主Mysql的架构
	  的配置过程。
	 
	 
	检查主从同步性
	 
	  [root@node1 ~]# mysql #进入mysql命令行
	 
	  mysql> show master status; #显示 ( 不同主机结果不同 )
	 
	  +------------------+----------+-------------------+------------------+
	 
	  | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
	 
	  +------------------+----------+-------------------+------------------+
	 
	  | updatelog.000028 | 313361 |db1 | mysql |
	 
	  +------------------+----------+-------------------+------------------+
	 
	  (同步之前如果怀疑主从数据不同步可以采取:上面冷备份远程拷贝法或者在从服务器上命行同步方法)
	 
	  在从服务器执行MySQL命令下:
	 
	  mysql> slave stop; #先停止 slave 服务
	 
	  mysql> CHANGE MASTER TO MASTER_LOG_FILE='updatelog.000028',MASTER_LOG_POS=313361;
	 
	  #根据上面主服务器的 show master status 的结果,进行从服务器的二进制数据库记录回归,达到同步的效果
	 
	  mysql>slave start; #启动从服务器同步服务
	 
	  mysql> show slave status\G;
	 
	  用show slave status\G;看一下从服务器的同步情况
	 
	  Slave_IO_Running: Yes
	 
	  Slave_SQL_Running: Yes
	 
	  如果都是yes,那代表已经在同步
	 
	  利用 mysql 的客户端来测试,要比在命令行方便的多。
到此,关于“mysql主主和主从的搭建方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。