kution 发表于 2018-10-10 13:20:40

mysql数据库-多机配置

  一主多从配置
  环境:
  主机A( huangzp2):172.16.115.157
  主机B( huangzp3):172.16.115.100
  主机C( huangzp4):172.16.115.87
  说明:多台从服务器为一台主服务器提供备份功能;仍然主从配置;至少需要3台机器
  一. 3台服务器上安装 mysql mysql-server
  yum install mysql mysql-server -y
  二. 修改配置文件/etc/my.cnf,并重启
  主机A(master)上:

  主机B(slave)上:

  主机C(slave)上:

  三. 主服务器A上,给多台从服务器(主机B和主机C)授权replication slave

  grant replication slave on *.* to 'silen'@'172.16.115.100'>
  grant replication slave on *.* to 'silen'@'172.16.115.87'>
  show master status;

  四. 从上写入master.info信息,并开启slave,以及查看slave状态
  主机B(slave)上:


  主机C(slave)上:


  五. 主服务器上创建aa,查看从服务器上也同步创建了db1库
  主A:

  从B:

  从C:

  多主一从配置
  环境:
  主机A( huangzp2):172.16.115.157
  主机B( huangzp3):172.16.115.100
  主机C( huangzp4):172.16.115.87
  说明:不管是主从、主主、一直多从,如果主有多台数据库,则需要跟多的从服务器来备份,资源开销比较大;多主一从,一台从服务器为多台主服务器提供备份,也存在问题,就是一台从服务器上不能同时开两个mysql进程(mysqld_safe只能开启一个数据库进程),解决:不能用mysqld_safe,而是需要使用mysqld_multi,一台服务器提供多个mysql进程
  一. 3台机器yum install -y mysql mysql-server,并修改配置文件/etc/my.cnf
  主一A:

  主二B:

  二. 授权给从服务器
  主一A:

  grant replication slave on *.* to 'silen'@'172.16.115.87'>
  主二B:

  三. 编辑从C服务器配置文件vim /etc/my.cnf
  
  mysqld=/usr/bin/mysqld_safe
  mysqladmin=/usr/bin/mysqladmin
  user=root
  password=123456
  log=/tmp/multi.log
  
  port=3306
  datadir=/var/lib/mysqla
  pid-file=/var/lib/mysqla/mysqld.pid
  socket=/var/lib/mysqla/mysql.sock
  user=mysql
  server-id=87
  
  port=3307
  datadir=/var/lib/mysqlb
  pid-file=/var/lib/mysqlb/mysqld.pid
  socket=/var/lib/mysqlb/mysql.sock
  user=mysql
  server-id=87
  说明:

[*]  添加模块,调用的还是mysqld_safe
[*]  mysqladmin修改密码的工具存放的位置
[*]  以root身份登录
[*]  定义一个日志文件
[*]  添加和主一通信模块,157数字自定命名
[*]  指定端口为3306
[*]  数据存放目录
[*]  pid文件目录
[*]  套接字目录
[*]  登录的用户
[*]  server-id
[*]  除了server-id相同外(因为在不同组中,id并没有冲突),其他和主二不能相同
  四. 从服务器上,初始化mysqla和mysqlb,创建相应目录,并修改属主为mysql,用到/usr/bin/mysql_install_db
  /usr/bin/mysql_install_db --datadir=/var/lib/mysqla
  /usr/bin/mysql_install_db --datadir=/var/lib/mysqlb
  chown -R mysql /var/lib/mysqla/
  chown -R mysql /var/lib/mysqlb/
  五. 启动mysql,用mysql_multi,需指定配置文件和模块
  mysqld_multi --defaults-file=/etc/my.cnf start 157

  mysqld_multi --defaults-file=/etc/my.cnf start 100

  六. 登录mysql,需指定端口号和套接字文件
  登录mysql157,并添加和主一通信的master.info,开启salve,查看状态:
  mysql -P 3306 -S /var/lib/mysqla/mysql.sock


  登录mysql100,并添加和主二通信的Master.info,开启salve,查看状态:
  mysql -P 3307 -S /var/lib/mysqlb/mysql.sock


  七. 主一和主二创建分别创建数据库db1和db2,从服务器分别登录157、100能够显示已同步创建
  主一创建db1:

  主二创建db2:

  从157登录查看:
  mysql -P 3306 -S /var/lib/mysqla/mysql.sock

  从100登录查看:
  mysql -P 3307 -S /var/lib/mysqlb/mysql.sock


页: [1]
查看完整版本: mysql数据库-多机配置