温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mysql主主和主从的搭建方法

发布时间:2021-09-15 10:20:45 来源:亿速云 阅读:140 作者:chen 栏目:数据库

这篇文章主要介绍“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主主和主从的搭建方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI