微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql主从复制实验环境测试

本文主要给大家介绍mysql主从复制实验环境测试,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在编程之家行业资讯里面关注我的更新文章的。

MysqL主从复制

实验环境

主:192.168.110.33

从:192.168.110.59

iptables and selinux disabled

mysql主从复制实验环境测试

主:云服务器

1.安装并初始化

# yum install -y MysqL -MysqL-server

#/etc/init.d/MysqL start

# MysqL_secure_installation #设置root密码

Set root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

... Success!

Remove anonymous users? [Y/n] y

disallow root login remotely? [Y/n] y

Remove test database and access to it? [Y/n] y

Reload privilege tables Now? [Y/n] y

2.用户修改/etc/my.cnf文件

# id MysqL

uid=27(MysqL) gid=27(MysqL) groups=27(MysqL)

# cp /usr/share/MysqL/my-medium.cnf /etc/my.cnf

57 server-id = 1 #id唯一

59 binlog-do-db = test #指定同步test数据库

60 binlog-ignore-db = MysqL #避免同步 MysqL 数据库,以免不必要的麻烦

3.创建同步账户并授权

# MysqL -p密码

MysqL> create database test;

Query OK, 1 row affected (0.00 sec)

MysqL> use test;

MysqL> create table MysqL( username varchar(25) not null, password varchar(25) not null);

MysqL> desc MysqL;

+----------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+----------+-------------+------+-----+---------+-------+

| username | varchar(25) | NO | | NULL | |

| password | varchar(25) | NO | | NULL | |

+----------+-------------+------+-----+---------+-------+

MysqL> insert into MysqL value('girl',123);

MysqL> insert into MysqL value('boy',123) ;

MysqL> select * from MysqL;

+----------+----------+

| username | password |

+----------+----------+

| girl | 123 |

| boy | 123 |

+----------+----------+

MysqL> GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO cyl@'192.168.110.%' IDENTIFIED BY 'cyl&647308';

MysqL> flush privileges;

MysqL> quit

Bye

3.备份test数据库并发送二进制日志到从

[root@cyl_test1 MysqL]# pwd

/var/lib/MysqL

# file MysqL-bin.000003

MysqL-bin.000003: MysqL replication log

# MysqLdump -p'cyl&647308' test > test.sql

#MysqLdump -p'数据库密码' test > test.sql

# scp test.sql MysqL-bin.000003 192.168.110.59:

从:客户端

1.安装、初始化、修改/etc/my.cnf文件

# yum install -y MysqL -MysqL-server

#/etc/init.d/MysqL start

# MysqL_secure_installation #设置root密码

Set root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

... Success!

Remove anonymous users? [Y/n] y

disallow root login remotely? [Y/n] y

Remove test database and access to it? [Y/n] y

Reload privilege tables Now? [Y/n] y

# vim /etc/my.cnf

server-id = 2 #id唯一

2.用户登录同步账户(用户必须与服务端保持一致)

# id MysqL

uid=27(MysqL) gid=27(MysqL) groups=27(MysqL)

# MysqL -ucyl -p'cyl&647308' -h 192.168.110.33

MysqL> show databases; #若没有test数据库手动创建

+--------------------+

| Database |

+--------------------+

| information_schema |

| MysqL |

| test |

+--------------------+

MysqL> quit

Bye

3.将数据库导入,登录数据库看到数据同步成功(在服务端发送二进制文件的位置)

# MysqL -p'cyl&647308' test<test.sql

#MysqL -p'数据库密码' test < test.sql

# MysqL -p密码

MysqL> use test;

MysqL> show tables;

+----------------+

| Tables_in_test |

+----------------+

| MysqL |

+----------------+

MysqL> select * from MysqL;

+----------+----------+

| username | password |

+----------+----------+

| girl | 123 |

| boy | 123 |

+----------+----------+

主:服务端

在服务端查看master的状态

MysqL> show master status;

+------------------+----------+--------------+------------------+

| File | Position | binlog_Do_DB | binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| MysqL-bin.000003 | 1834 | test | MysqL |

+------------------+----------+--------------+------------------+

从:客户端

在客户端设置允许服务端同步数据

# MysqL -p

MysqL> stop slave;

MysqL> change master to master_host='192.168.110.33', master_user='cyl',master_password='cyl&647308', master_log_file='MysqL-bin.000003',master_log_pos=1834; #此用户为master端授权的同步用户

MysqL> start slave;

MysqL> show slave status\G;

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.110.33

Master_User: cyl

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: MysqL-bin.000003

Read_Master_Log_Pos: 1834

Relay_Log_File: MysqLd-relay-bin.000002

Relay_Log_Pos: 251

Relay_Master_Log_File: MysqL-bin.000003

Slave_IO_Running: Yes

Slave_sql_Running: Yes

主:服务端

改动数据库数据观察从是否同步

# MysqL -p密码

MysqL> use test;

MysqL> insert into MysqL value ('love',123);

MysqL> select * from MysqL;

+----------+----------+

| username | password |

+----------+----------+

| girl | 123 |

| boy | 123 |

| love | 123 |

+----------+----------+

从:客户端

# MysqL -p密码

MysqL> use test;

MysqL> select * from MysqL;

+----------+----------+

| username | password |

+----------+----------+

| girl | 123 |

| boy | 123 |

| love | 123 |

+----------+----------+

主:服务端

MysqL> delete from MysqL where username='love';

从:客户端

MysqL> select * from MysqL;

+----------+----------+

| username | password |

+----------+----------+

| girl | 123 |

| boy | 123 |

+----------+----------+

看了以上关于MysqL主从复制实验环境测试,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐