mysql数据库多机运行_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)上:

6170803cf16673f96177f0786e2d43ab.png

主机B(slave)上:

5c6cb9ed4e9e092c89b1f67f12a59467.png

主机C(slave)上:

968030cc395beba9f38569669608005c.png

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

grant replication slave on *.* to 'silen'@'172.16.115.100' identified by '123456';

grant replication slave on *.* to 'silen'@'172.16.115.87' identified by '123456';

605cc66711d5e45875855be8958c868f.png

show master status;

f62f8e9eb892a8a03d8b7d73eeb48a58.png

四. 从上写入master.info信息,并开启slave,以及查看slave状态

主机B(slave)上:

b9df44d74ecbfa5e7bcec0900fcec968.png

57a364f3ec14784fc0e418a736731869.png

主机C(slave)上:

fa4e62fd566b38f2b208731081b37da0.png

5b75bc422a5ff3dbc974ad8accfef27c.png

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

主A:

e56ba3fc239c9623f75d423afc146110.png

从B:

6f4c58077d7c58656e98f49fd8d0f43b.png

从C:

80819aab20a540fd03e97ed569cf1b1f.png

多主一从配置

环境:

主机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:

3509be74fa93cf6506b5eb066a5ef21e.png

主二B:

3444f0a0d9835c4f9716c57b969659bd.png

二. 授权给从服务器

主一A:

grant replication slave on *.* to 'silen'@'172.16.115.87' identified by '123456';

2c39d641860908e070de9688f5416f6f.png

主二B:

d4fb5cf470041f2937d157cc79e409fe.png

三. 编辑从C服务器配置文件vim /etc/my.cnf

[mysqld_multi]

mysqld=/usr/bin/mysqld_safe

mysqladmin=/usr/bin/mysqladmin

user=root

password=123456

log=/tmp/multi.log

[mysqld157]

port=3306

datadir=/var/lib/mysqla

pid-file=/var/lib/mysqla/mysqld.pid

socket=/var/lib/mysqla/mysql.sock

user=mysql

server-id=87

[mysqld100]

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_multi]模块,调用的还是mysqld_safe

mysqladmin修改密码的工具存放的位置

以root身份登录

定义一个日志文件

添加和主一通信模块[mysql157],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

38264017d7dab05dc9dc56fe49e09204.png

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

8a00d78db60fd8d67fbd54d9e842fc02.png

六. 登录mysql,需指定端口号和套接字文件

登录mysql157,并添加和主一通信的master.info,开启salve,查看状态:

mysql -P 3306 -S /var/lib/mysqla/mysql.sock

13393a318338031aa327e1821f5f37af.png

40dc5d5dbfecec2b5b74dff1ed922d1e.png

登录mysql100,并添加和主二通信的Master.info,开启salve,查看状态:

mysql -P 3307 -S /var/lib/mysqlb/mysql.sock

a6a278501051e24242b4f0ba40691615.png

be1be5e6e1155f37b419cd4975469769.png

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

主一创建db1:

3fcea472f3efd2ba7e44c19ac9ba1cda.png

主二创建db2:

a13f57b6f2116b55e30d00c5e143bddb.png

从157登录查看:

mysql -P 3306 -S /var/lib/mysqla/mysql.sock

99aa2631dda9a7b33866f1e3e549d6b1.png

从100登录查看:

mysql -P 3307 -S /var/lib/mysqlb/mysql.sock

605e509001a82e00f8f0fea61c54731a.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值