如何理解Mysql Replication

技术如何理解Mysql Replication如何理解Mysql Replication,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Mys

如何理解关系型数据库复制,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

关系型数据库复制

类似于从一台服务器拷贝数据库到另一台服务器上,但它是通过定义掌握和奴隶的关系去实时地保证两个数据库的完全同步,这个功能在关系型数据库的3.23版中开始出现。

主/从模式备份

测试:

主:Redhat9.0上的MySQL-4。1 .12 IP:192。168 .0 .217

从机:Redhat9.0 IP:192.168.10.244上的Mysql-4.1.12

1、编译,安装

1.# tarzxvf Mysql-4.1.12.tar.gz

2.#cd Mysql-4.1.12

3.#/配置前缀=/var/eyou/mysql

4.#制作

5.#进行安装

6.# chownR根/var/eyou/mysql

7.# chownR MySQL/var/eyou/MySQL/var

8.# chgrpR MySQL/var/eyou/MySQL

9.#脚本/mysql_install_db

10.#cp支持-文件/my-medium.cnf /etc/my.cnf

2、大师机器设置权限,赋予奴隶机器文件及复制从属权利,并打包要同步的数据库结构。

主# pwd

/var/eyou/mysql/bin

#大师#。/MySQLu rootp

输入密码:

欢迎来到关系型数据库监视器。命令以结尾;或者g .

您的关系型数据库连接身份证明(identification)是2到服务器版本: 4.1.12

键入“救命”或者寻求帮助。键入“c”清除缓冲区。

关系型数据库格兰特文件打开*。*收件人代表@192.168.0.244由"您"标识;

mysql GRANT REPLICATION SLAVE ON * .*收件人代表@192.168.0.244由"您"标识;

赋予192.168.10.244也就是奴隶机器有文件权限,这个4.1.12版对复制的权限好像做了调整,只赋予奴隶机器有文件权限还不行,还要给它REPLICATION SLAVE的权限才可以。

然后打包要复制的数据库

主# cd var

reptest.tar.gz雷普斯特大师

这样,我们得到一个reptest数据库的打包文件reptest.tar.gz

2设置主服务器掌握的我的。cnf,启动关系型数据库服务

主# vi /etc/my.cnf

在[mysqld]添加或修改以下的

[mysqld]

日志箱#打开日志箱选项以能写到奴隶的输入-输出线程;

服务器id=1 #表示是本机的序号为1,一般来讲就是掌握的意思。

SQL-bin-更新-相同

binlog-do-db=reptest #表示同步reptest数据库;

然后把掌握主服务器的关系型数据库重启。

master #/var/eyou/MySQL/bin/MySQL adminu rootp关闭

master #/var/eyou/MySQL/bin/safe _ MySQL-user=MySQL

3、建立奴隶数据库

刚才在掌握中打包了reptest.tar.gz,它的作用就是要在奴隶恢复成一样的数据库。先把掌握的reptest.tar.gz文件传到奴隶机器中去。然后

从# tar zxvf reptest . tar . gz-C/var/eyou/MySQL/var/

4、修改奴隶服务器的my.cnf

奴隶号vi /etc/my.cnf

在[mysqld]添加或修改以下的

主主机=192.168.10.217

主用户=代表

主密码你

>

master-port=3306

server-id=2

master-connect-retry=60

replicate-do-db=reptest    [要更新的数据库]

log-slave-updates

5、删除Slave端数据库目录中的master.info

Slave# rm /var/eyou/mysql/var/master.info

6、重启动Slave的slave start。

Slave# /var/eyou/mysql/bin/mysqladmin –u root –p shutdown

Slave# /var/eyou/mysql/bin/safe_mysqld --user=mysql &

7、测试

先检测两个Mysql数据库中的reptest是否正常。

正常情况应该是Master和Slave 中的Mysql 都有相同的reptest 数据库,并且里面的数据都一样。

然后测试replication 功能是否起用。

在Master中的reptest数据库添加一笔数据:

Master# /var/eyou/mysql/bin/mysql –u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 12 to server version: 4.1.12

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> use reptest;

Database changed

mysql> INSERT INTO rep_table VALUES ('test1', '4321', 'T',24);

Query OK, 1 row affected (0.00 sec)

mysql>

然后查看Slave机器的reptest数据库:

Slave#/var/eyou/mysql/bin/mysql –u root –p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 12 to server version: 4.1.12

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> use reptest;

Database changed

mysql>select * from reptable;;

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

| id | name | sex | age |

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

| test1| 4321 | T | 24 |

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

1 row in set (0.00 sec)

PS :

1,Slave机器的权限问题,不但要给slave机器File权限,还要给它REPLICATION SLAVE的权限。

2.在修改完Slave机器/etc/my.cnf之后,slave机器的mysql服务启动之前,记得要删除掉master.info

3,在show master status 或着show slave status 不正常时,看看.err是怎样说的。

4,Slave上Mysql的Replication工作有两个线程, I/O thread和SQL thread 。I/O 的作用是从master 3306端口上把它的binlog取过来(master在被修改了任何内容之后,就会把修改了什么写到自己的binlog等待slave更新),然后写到本地的relay-log,而SQL thread则是去读本地的relay-log,再把它转换成本Mysql所能理解的语句,于是同步就这样一步一步的完成.决定I/O thread的是/var/lib/mysql/master.info,而决定SQL thread的是/var/lib/mysql/relay-log.info.

双向复制模式

1:

Slave 机器设置权限,赋予Master机器FILE及Replication Slave权利.

Master#./var/eyou/mysql –u root –p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 2 to server version: 4.1.12

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> GRANT FILE ON *.* TO rep@192.168.0.217 IDENTIFIED BY ‘eyou’;

mysql> GRANT REPLICATION SLAVE ON *.* TO rep@192.168.0.217 IDENTIFIED BY ‘eyou’;

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/107006.html

(0)

相关推荐

  • MHA在线切换脚本master_ip_online_change如何结合VIP

    技术MHA在线切换脚本master_ip_online_change如何结合VIP这篇文章主要介绍MHA在线切换脚本master_ip_online_change如何结合VIP,文中介绍的非常详细,具有一定的参考价值,感

    攻略 2021年11月23日
  • 怎么使用EMR Spark Relational Cache跨集群同步数据

    技术怎么使用EMR Spark Relational Cache跨集群同步数据这篇文章给大家介绍怎么使用EMR Spark Relational Cache跨集群同步数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望

    攻略 2021年11月10日
  • 离职后公积金可以全部取出来吗,辞职后能全部提取公积金吗

    技术离职后公积金可以全部取出来吗,辞职后能全部提取公积金吗如果是外地户口员工离职后公积金可以全部取出来吗,在和单位解除劳动关系之后,员工是可以申请提取住房公积金的,而且是可以申请销户提取,是可以将住房公积金账户内所有余额

    生活 2021年10月31日
  • 牡丹鹦鹉怎么养,牡丹鹦鹉是怎么繁殖与喂养的

    技术牡丹鹦鹉怎么养,牡丹鹦鹉是怎么繁殖与喂养的首先先忙明确一下:牡丹鹦鹉面类是可以养殖牡丹鹦鹉怎么养,如果是头类牡丹鹦鹉就要办理饲养证。
    正文开始了:
    如果你打算自己繁殖你的鹦鹉,首先必须为小鸟准备一个爱巢,尺寸不能小于

    生活 2021年10月21日
  • 孙悟空的外貌,孙悟空的外貌描写50字左右优秀

    技术孙悟空的外貌,孙悟空的外貌描写50字左右优秀孙悟空的外貌是孙悟空的外貌:1、拐子(腿的下部与脚相连处)脸、别颏腮(凹陷皱缩的脸)、雷公嘴(尖鸟嘴)、红眼睛的一个痨病魔鬼。
    2、圆眼睛,查耳朵(张开耳朵),满面毛,雷公

    生活 2021年10月25日
  • javascript如何删除非数字的字符

    技术javascript如何删除非数字的字符本篇内容介绍了“javascript如何删除非数字的字符”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大

    攻略 2021年12月8日