mysql双机部署_双机部署Mysql主从同步

提前准备两台机器(200M+内存),假定为A、B  ●要求:在A,B上分别安装部署mysql双实例,端口为3306,3307。  ●要求:       完成3306端口A--->B的mysql主从同步(replication)       完成3307端口B--->A的mysql主从同步(replication)

时间30分钟提示:mysql可事先操作到make install完成。

测试准备:

服务器A:192.168.1.77      服务器B:182.168.1.66

====================================================================================●●测试:3306端口A--->B的mysql主从同步●●

◆主库操作:(192.168.1.77)

[root@pangpang 3306]# mysql -u root -p'pangpang' -S /data/3306/mysql.sock    # 登录3306数据库

mysql> grant replication slave on *.* to 'ryanrep'@'192.168.1.%' identified by 'ryanrep';   # 建立用于同步的账号ryanrep

mysql> flush tables with read lock;    # 锁表只读

mysql> show master status;   # 查看master状态当前日志文件名和二进制日志偏移量+----------------------+----------+--------------+------------------+| File                 | Position | Binlog_Do_DB | Binlog_Ignore_DB |+----------------------+----------+--------------+------------------+| mysql3306-bin.000001 |      627 |              |                  | +----------------------+----------+--------------+------------------+1 row in set (0.00 sec)

单开新窗口,备份数据库:

mysqldump -u root -p -S /data/3306/mysql.sock -A -B >/home/hackbase/ryannew3306.sql    # 备份3306数据库

rsync -vzrtopg --progress -e 'ssh -p 52113' /home/hackbase/ryannew3306.sql hackbase@192.168.1.66:/home/hackbase/

# 以上是用rsync把备份的3306数据库推送到192.168.1.66服务器的/home/hackbase目录下。

mysql> unlock tables;   # 主库解锁,恢复可写。

mysql> create database 3306test;   # 创建3306test数据库

◆从库操作:(192.168.1.66)

mysql -u root -p'pangpang' -S /data/3306/mysql.sock

[root@pangpang 3306]# vi my.cnf    # 编辑my.cnf文件

删掉或注释 logbin,并修改id

#log-bin=mysql3306-bin

server-id = 2       # 把id改一下,可改成0-255之间的数字,只要和主库的不一样就行。

[root@pangpang 3306]# /data/3306/mysql restart    # 重启从库

[root@pangpang 3306]# mysql -u root -p'pangpang' -S /data/3306/mysql.sock   # 用以下命令在从库里和主库进行连接

CHANGE MASTER TO  MASTER_HOST='192.168.1.77', MASTER_PORT=3306,MASTER_USER='ryanrep', MASTER_PASSWORD='ryanrep', MASTER_LOG_FILE='mysql3306-bin.000001',MASTER_LOG_POS=627;

接着启动同步命令,并查看:(slave)

mysql> slave start;

mysql> show slave status\G      # 下面的两个显示Yes的话为成功

Slave_IO_Running: Yes          Slave_SQL_Running: Yes

---------数据库主从同步测试--------------

进入主库进行操作:(192.168.1.77)

[root@pangpang 3306]# mysql -u root -p'pangpang' -S /data/3306/mysql.sock   # 登录3306数据库

mysql> show databases;    # 显示所有数据库+--------------------+| Database           |+--------------------+| information_schema | | 3306test           | | mysql              | | test               | +--------------------+4 rows in set (0.01 sec)

mysql> use 3306test    # 连接数据库

mysql> create table hacker3306(name varchar(8));   # 创建表

mysql> insert into hacker3306 value('hacker');   # 插入数据

mysql> select * from hacker3306;    # 查看表里面的内容+---------+| name    |+---------+| hacker | +---------+1 row in set (0.00 sec)

进入从库进行查看:(192.168.1.66)

[root@pangpang 3306]# mysql -u root -p'pangpang' -S /data/3306/mysql.sock  # 登录3306数据库

mysql> show databases;    # 显示所有数据库

mysql> use 3306test     # 连接数据库

mysql> show tables;   # 显示所有表

mysql> select * from hacker3306;   # 查看表里面的内容

可以看到已经同步过来了。

====================================================================================●●测试:3307端口B--->A的mysql主从同步●●

◆主库:(192.168.1.66)

[root@pangpang 3307]# mysql -u root -p'pangpang' -S /data/3307/mysql.sock   # 登录3307数据库

mysql> grant replication slave on *.* to 'ryanrep'@'192.168.1.%' identified by 'ryanrep';   # 建立用于同步的账号ryanrep

mysql> flush tables with read lock;    # 锁表只读

mysql> show master status;  # 查看master状态当前日志文件名和二进制日志偏移量+----------------------+----------+--------------+------------------+| File                 | Position | Binlog_Do_DB | Binlog_Ignore_DB |+----------------------+----------+--------------+------------------+| mysql3307-bin.000001 |      860 |              |                  | +----------------------+----------+--------------+------------------+1 row in set (0.00 sec)

单开新窗口,备份数据库

mysqldump -u root -p -S /data/3307/mysql.sock -A -B >/home/hackbase/ryannew3307.sql   # 备份3307数据库

rsync -vzrtopg --progress -e 'ssh -p 52113' /home/hackbase/ryannew3307.sql hackbase@192.168.1.77:/home/hackbase/

# 以上是用rsync把备份的3307数据库推送到192.168.1.77服务器的/home/hackbase目录下。

mysql> unlock tables;    # 主库解锁,恢复可写。

mysql> create database 3307test;   # 创建3307test数据库

◆从库操作:(192.168.1.77)

mysql -u root -p'pangpang' -S /data/3307/mysql.sock

[root@pangpang 3307]# vi my.cnf   # 编辑my.cnf文件

删掉或注释 logbin,并修改id

#log-bin=mysql3307-bin

server-id = 3       # 把id改一下,可改成0-255之间的数字,只要和主库的不一样就行。(这里要注意不要和上面的重复)

[root@pangpang 3307]# /data/3307/mysql restart   # 重启从库

[root@pangpang 3307]# mysql -u root -p'pangpang' -S /data/3307/mysql.sock   # 用以下命令在从库里和主库进行连接

CHANGE MASTER TO  MASTER_HOST='192.168.1.66', MASTER_PORT=3307,MASTER_USER='ryanrep', MASTER_PASSWORD='ryanrep', MASTER_LOG_FILE='mysql3307-bin.000001',MASTER_LOG_POS=860;

启动同步命令,并查看:(slave)

mysql> slave start;

mysql> show slave status\G      # 下面的两个显示Yes的话为成功

Slave_IO_Running: Yes          Slave_SQL_Running: Yes

---------数据库主从同步测试--------------

进入主库进行操作:(192.168.1.66)

[root@pangpang 3307]# mysql -u root -p'pangpang' -S /data/3307/mysql.sock   # 登录3307数据库

mysql> show databases;    # 显示所有数据库+--------------------+| Database           |+--------------------+| information_schema | | 3306test           | | mysql              | | test               | +--------------------+4 rows in set (0.01 sec)

mysql> create database hacker3307;   # 创建hacker3307数据库

mysql> use hacker3307   # 连接hacker3307数据库

mysql> create table 3307test(name varchar(8));  # 创建表

mysql> insert into 3307test value('hacker');   # 插入数据

mysql> select * from 3307test;    # 查看3307test表里面的内容+---------+| name    |+---------+| hacker | +---------+1 row in set (0.00 sec)

进入从库进行查看:(192.168.1.77)

[root@pangpang 3307]# mysql -u root -p'pangpang' -S /data/3307/mysql.sock

mysql> show databases;    # 显示所有数据库

mysql> use hacker3307   # 连接hacker3307数据库

mysql> show tables;   # 显示所有表

mysql> select * from 3307test;   # 查看3307test表里面的内容+---------+| name    |+---------+| hacker | +---------+1 row in set (0.01 sec)

可以看到已经同步过来了。

====================================================================================

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值