狐狸情 发表于 2018-10-7 13:29:25

Linux系统中MySQL数据库“主从”配置

  MySQL数据库“主从”配置
  一、配置概述:
  在Linux操作系统中配置MySQL数据库的主从复制是很重要的,为什么这样说呢!是因为在你搭建一个服务器以后你配置了2台数据库,一主一从。2台数据库配置好以后,当其中一台数据库被***以后,你被***的这台数据库的数据会被自动的备份到另一台数据库中去。即使被***了数据也不会丢失。配置主从就是为了让web网站或其他的软件可以正常运转,确保数据的存在。
  
  二、配置步骤:
  《配置具备的条件》
  1、需要在虚拟机上安装好两台主机,同时安装好同一个版本的MySQL数据库。确定一个数据库为主数据库。另一个数据库为次数据库。开始配置。
  2、分别登录到两个系统中的MySQL数据库。
  3、查看两台操作系统的网络连接是否正常
  命令:Ifconfig查看IP
  使用: 在主数据库上ping次数据库的IP看是否互通。
  主—》次“ping 192.168.1.138”
  次---》主“ping192.168.1.128”
  OK
  第一步:配置主数据库。
  1、配置主数据库服务器。
  打开my.cnf配置文件配置
  vim /etc/my.cnf。
  配置语句
  《server-id=1    这个是确定是主数据库
  log-bin=/var/lib/mysql/mysql-bin.log》指定一个数据库保存的位置
  保存退出 :wq
  重启服务器:servicemysqld restart
  没有提示错误就说明OK的
  2、进入数据库查看数据库的具体状态
  命令:mysql -uroot –p   进入MySQL数据库。
  命令:showmaster status\G; 查看状态。

  3、对数据库的表进行锁定
  命令:flush tables with read lock;

  4、对MySQL数据库进行备份操作(退出 数据库以后备份
  命令:mysqldump -hlocalhost -uroot -p3306 -p dzx>/home/dzx.sql

  5、去/home目录下查看dzx.sql数据库文件.

  6、将主数据库的dzx.sql文件传输到次数据库,以此确保数据库中的表结构和数据能够一致。
  命令:scpdzx.sql root@192.168.1.138:/home/

  7、取消主数据库中表的锁定。

  8、在次数据库的配置文件中会使用到用户,再次提前创建好

  grantreplication slave on *.* to 'dzx'@'192.168.1.128'>  创建一个用户,赋予它所有的权限给dzxuser这个用户,他的IP为192.168.1.128,他的密码为dzx123。

  第二步:配置次数据库。
  1、在第二个操作系统中打开主配置文件my.cnf
  vim/etc/my.cnf

  2、配置次数据库里面的配置命令
  server-id=2   这个是次数据库的ID号,不能和主数据库的一样
  log-bin=/var/lib/mysql/mysql-bin.log   这个与主数据库的一致
  master-host=192.168.1.128   这是主数据库服务的IP地址
  master-user=dzx          这个是主数据库的用户名
  master-pass=dzx123            这个是主数据库中用户的对应密码
  master-port=3306               这个是书数据库的端口号
  master-connect-retry=10    这个是配置连接的二次时间的长短---间隔连接
  replicate-do-db=dzx             复制dzx这个数据库
  保存退出 :wq
  重启服务 servicemysqld restart
  进入数据库。
  3、验证两个参数,是为了保证与主数据库之间是互相通信的。
  (1)查看配置
  show slave status\G;

  (这是从数据库的)

  (这是主数据库的)
  当主数据库的file项和position项都与从数据库的一致的时候才能起到作用。否则是失败的。
  三、结束语:
  直到这里主从数据库配置就结束了。在配置过程中注意不要配置错了,彼此之间是有联系的,一步错后面的都会导致失败。当配置成功以后,你操作主数据库时次数据库也会受到影响。数据也会自动备份到次数据库中去。本文中如果有不妥的地方还请多多指教。谢谢!

页: [1]
查看完整版本: Linux系统中MySQL数据库“主从”配置