mysql主从复制-阿里云开发者社区

开发者社区> 技术小甜> 正文

mysql主从复制

简介:
+关注继续查看

mysql实现主从复制


实验环境:

server5:主

server6:从

server7:从

iptabls offselinux Disabled12345

安装mysql

*先查看是否有其它版本的,若有,则先卸载

[root@server5 ~]# rpm -qa | grep mysqlmysql-libs-5.1.71-1.el6.x86_64

[root@server5 ~]# rpm -e mysql-libs-5.1.71-1.el6.x86_64error: Failed dependencies:

   libmysqlclient.so.16()(64bit) is needed by (installed) postfix-2:2.6.6-2.2.el6_1.x86_64

   libmysqlclient.so.16(libmysqlclient_16)(64bit) is needed by (installed) postfix-2:2.6.6-2.2.el6_1.x86_64

   mysql-libs is needed by (installed) postfix-2:2.6.6-2.2.el6_1.x86_64

[root@server5 ~]# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64[root@server5 ~]# rpm -qa | grep mysql[root@server5 ~]# 1234567891011

*安装mysql

[root@server5 ~]# tar zxf mysql-5.7.17-1.el6.x86_64.rpm-bundle.tar gzip: stdin: not in gzip formattar: Child returned status 1tar: Error is not recoverable: exiting now

[root@server5 ~]# tar xf mysql-5.7.17-1.el6.x86_64.rpm-bundle.tar #注意顺序[root@server5 ~]# rpm -ivh mysql-community-common-5.7.17-1.el6.x86_64.rpm[root@server5 ~]# rpm -ivh mysql-community-libs-5.7.17-1.el6.x86_64.rpm [root@server5 ~]# rpm -ivh mysql-community-devel-5.7.17-1.el6.x86_64.rpm[root@server5 ~]# yum install libaio -y[root@server5 ~]# yum install numactl -y[root@server5 ~]# rpm -ivh mysql-community-client-5.7.17-1.el6.x86_64.rpm[root@server5 ~]# rpm -ivh mysql-community-server-5.7.17-1.el6.x86_64.rpmwarning: mysql-community-server-5.7.17-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEYerror: Failed dependencies:

   /usr/bin/perl is needed by mysql-community-server-5.7.17-1.el6.x86_64

   perl(File::Path) is needed by mysql-community-server-5.7.17-1.el6.x86_64

   perl(Getopt::Long) is needed by mysql-community-server-5.7.17-1.el6.x86_64

   perl(POSIX) is needed by mysql-community-server-5.7.17-1.el6.x86_64

   perl(strict) is needed by mysql-community-server-5.7.17-1.el6.x86_64

[root@server5 ~]# yum install perl  -y[root@server5 ~]# rpm -ivh mysql-community-server-5.7.17-1.el6.x86_64.rpm[root@server5 ~]# 123456789101112131415161718192021222324

*在server5:master

[root@server5 ~]# vim /etc/my.cnf.....

log-bin=mysql-bin

binlog-do-db=test

server-id=1binlog-ignore-db=mysql

.....

[root@server5 ~]# /etc/init.d/mysqld startInitializing MySQL database:                               [  OK  ]

Installing validate password plugin:                       [  OK  ]

Starting mysqld:                                           [  OK  ]

[root@server5 ~]#[root@server5 ~]# cat /var/log/mysqld.log | grep pass  #过滤初始密码2017-06-13T01:22:16.400573Z 1 [Note] A temporary password is generated for root@localhost: M.uepxaHq3oI

[root@server5 ~]# mysql_secure_installation        #修改mysql默认root密码[root@server5 ~]# mysql -uroot -pXiamin+0099mysql> GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO westos@'172.25.66.7'

   -> IDENTIFIED BY 'Xiamin+0099';         #创建账户并给与权限Query OK, 0 rows affected, 1 warning (0.07 sec)


mysql> Flush privileges;

Query OK, 0 rows affected (0.12 sec)


mysql> quit

Bye

[root@server5 ~]#12345678910111213141516171819202122232425262728

*在server7:slave

[root@server7 ~]# vim /etc/my.cnf.....

server-id=2

.....[root@server7 ~]# /etc/init.d/mysqld start

Initializing MySQL database:                               [  OK  ]

Installing validate password plugin:                       [  OK  ]

Starting mysqld:                                           [  OK  ]

[root@server5 ~]#


[root@server7 ~]# mysql_secure_installation

[root@server7 ~]# mysql -uroot -pXiamin+0099

(此时需要先stop slave)

mysql> change master to master_host='172.25.66.5', master_user='westos',    -> master_password='Xiamin+0099', master_log_file='mysql-bin.000005', master_log_pos=616;Query OK, 0 rows affected, 2 warnings (0.50 sec)


mysql> start slave;

Query OK, 0 rows affected (0.06 sec)


mysql> show slave status\G;.....

           Slave_IO_Running: Yes

           Slave_SQL_Running: Yes

.....mysql> quit

Bye

[root@server7 ~]# 12345678910111213141516171819202122232425262728

测试:

在master中新建test库

[root@server5 ~]# mysql -uroot -pXiamin+0099.....

mysql> show databases;

+--------------------+| Database           |

+--------------------+| information_schema |

| mysql              |

| performance_schema |

| sys                |

+--------------------+4 rows in set (0.07 sec)

mysql> create database test;

Query OK, 1 row affected (0.08 sec)

mysql> show databases;

+--------------------+| Database           |

+--------------------+| information_schema |

| mysql              |

| performance_schema |

| sys                |

| test               |

+--------------------+5 rows in set (0.00 sec)


mysql> use test

Database changed

mysql> create table MyClass(

   -> id int(4) not null primary key auto_increment,

   -> name char(20) not null,

   -> sex int(4) not null default '0',

   -> degree double(16,2));

Query OK, 0 rows affected (1.20 sec)


mysql> show tables;

+----------------+| Tables_in_test |

+----------------+| MyClass        |

+----------------+1 row in set (0.00 sec)


mysql> show processlist;

+----+--------+---------------+------+-------------+-------+---------------------------------------------------------------+------------------+| Id | User   | Host          | db   | Command     | Time  | State                                                         | Info             |

+----+--------+---------------+------+-------------+-------+---------------------------------------------------------------+------------------+|  3 | westos | server7:50403 | NULL | Binlog Dump | 17034 | Master has sent all binlog to slave; waiting for more updates | NULL             |

| 14 | root   | localhost     | NULL | Query       |     0 | starting                                                      | show processlist |

+----+--------+---------------+------+-------------+-------+---------------------------------------------------------------+------------------+2 rows in set (0.00 sec)


mysql> quit

Bye


.....


[root@server5 ~]# 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859

在slave上查看

[root@server7 ~]# mysql -uroot -pXiamin+0099.....

mysql> show databases;

+--------------------+| Database           |

+--------------------+| information_schema |

| mysql              |

| performance_schema |

| sys                |

| test               |

+--------------------+5 rows in set (0.00 sec)


mysql> use test

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Database changed

mysql> show tables;

+----------------+| Tables_in_test |

+----------------+| MyClass        |

+----------------+1 row in set (0.00 sec)

mysql> show processlist;

+----+-------------+-----------+------+---------+-------+--------------------------------------------------------+------------------+| Id | User        | Host      | db   | Command | Time  | State                                                  | Info             |

+----+-------------+-----------+------+---------+-------+--------------------------------------------------------+------------------+|  1 | system user |           | NULL | Connect |  1894 | Slave has read all relay log; waiting for more updates | NULL             |

|  2 | system user |           | NULL | Connect | 16880 | Waiting for master to send event                       | NULL             |

| 10 | root        | localhost | NULL | Query   |     0 | starting                                               | show processlist |

+----+-------------+-----------+------+---------+-------+--------------------------------------------------------+------------------+3 rows in set (0.00 sec)



mysql> quit

Bye

.....

[root@server7 ~]# 













本文转自铁骑传说51CTO博客,原文链接:http://blog.51cto.com/ybzbfs/1953119 ,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10088 0
[mysql]MySQL主从复制(linux主+windows从)
平台:windows/linux(ubuntu14.04) 版本:mysql5.5.XX 注:在mysql主从复制中,分为:主mysql(master),从mysql(slaver);本次例子,将是一个Master和一个...
1029 0
MySQL 复制 - 性能与扩展性的基石 3:常见问题及解决方案
MySQL 复制 - 性能与扩展性的基石 3:常见问题及解决方案主备复制过程中有很大可能会出现各种问题,接下来我们就讨论一些比较普遍的问题,以及当遇到这些问题时,如何解决或者预防问题发生。 1 数据损坏或丢失问题描述:服务器崩溃、断电、磁盘损坏、内存或网络错误等问题,导致数据损坏或丢失。
1094 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10883 0
mysql 主从复制的 工作原理
mysql 主从复制原理 主从形式   mysql主从复制 灵活 一主一从 主主复制 一主多从---扩展系统读取的性能,因为读是在从库读取的; 多主一从---5.7开始支持 联级复制---     用途及条件   mysql主从复制用途 实时灾备,用于故障切换 读写分离,...
1321 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13891 0
MySQL主从复制故障解决
丛库复制停止,进丛库查看,报错1007,数据库已存在,不能创建数据库 mysql> show slave status\G; Slave_IO_Running: Yes Slave_SQL_Running: No La...
721 0
MySQL主从复制
主库 开启主库binlog和server_id vim /etc/my.cnf [mysqld] log-bin=/var/lib/mysql/mysql-bin server_id=1 systemctl re...
798 0
+关注
10146
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载