在MySQL中设置主从复制入门实例

在mysql中设置主从复制入门实例

mysql复制示例:一个master将向单个slave发送信息。为了使进程工作,您将需要两个IP地址:主服务器之一和从属设备之一。

本教程将使用以下IP地址:

12.34.56.789-主数据库12.23.34.456-从数据库

登录后复制

本文假设您具有sudo权限的用户并且已安装MySQL。 如果你没有mysql,你可以用这个命令安装:

sudo apt-get install mysql-server mysql-client

登录后复制第一步 – 配置主数据库

打开主服务器上的mysql配置文件。

sudo nano /etc/mysql/my.cnf一旦进入该文件,我们需要进行一些更改。第一步是找到如下所示的部分,将服务器绑定到本地主机:bind-address            = 127.0.0.1将标准IP地址替换为服务器的IP地址。bind-address            = 12.34.56.789 下一个配置更改是指位于[mysqld]部分中的server-id。 您可以为此点选择任何数字(可能更容易从1开始),但该数字必须是唯一的,并且不能与复制组中的任何其他服务器标识匹配。 我要去打电话这个1。确保此行已取消注释。server-id               = 1移动到log_bin行。 这是保存复制的真实细节的地方。 从属程序将复制在日志中注册的所有更改。 对于这一步,我们只需要取消注释引用log_bin的行:log_bin                 = /var/log/mysql/mysql-bin.log最后,我们需要指定将在从服务器上复制的数据库。 您可以通过为所有您需要的数据库重复此行,包括多个数据库。binlog_do_db            = newdatabase完成所有更改后,继续保存并退出配置文件。刷新MySQL。

登录后复制

sudo service mysql restart

登录后复制登录后复制

接下来的步骤将在MySQL shell中进行,本身。

打开MySQL shell。

mysql -u root -p

登录后复制

我们需要给从属权限。 您可以使用此行命名您的从属并设置其密码。 命令应采用以下格式:

GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password';

登录后复制

FLUSH PRIVILEGES;

登录后复制

下一部分是有点bit。。 为了完成任务,你需要在除了你已经使用了几步倒行一打开一个新窗口或标签 。

在当前标签页切换到“newdatabase”。

USE newdatabase;

登录后复制

接下来,锁定数据库以防止任何新的更改:

FLUSH TABLES WITH READ LOCK;

登录后复制

然后输入:

SHOW MASTER STATUS;

登录后复制

你会看到一个表应该看起来像这样:

mysql> SHOW MASTER STATUS;+------------------+----------+--------------+------------------+| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000001 |      107 | newdatabase  |                  |+------------------+----------+--------------+------------------+1 row in set (0.00 sec)

登录后复制

这是从数据库将开始复制的位置。 记录这些数字,他们将在以后有用。

如果在同一个窗口中进行任何新的更改,数据库将自动解锁。 因此,您应该打开新的选项卡或窗口,然后继续下一步。

继续数据库仍然锁定,在新窗口中使用mysqldump导出数据库(确保您在bash shell中而不是在MySQL中键入此命令)。

mysqldump -u root -p --opt newdatabase > newdatabase.sql

登录后复制

现在,返回到您的原始窗口,解锁数据库(使它们可写入)。 通过退出shell完成。

UNLOCK TABLES;QUIT;

登录后复制

现在你已经完成了master数据库的配置。

第二步 – 配置从数据库

配置主数据库之后。 你可以把它放在一边,我们现在将开始配置从数据库。

登录到从服务器,打开MySQL shell并创建要从主服务器复制的新数据库(然后退出):

CREATE DATABASE newdatabase;EXIT;导入先前从主数据库导出的数据库。mysql -u root -p newdatabase Now we need to configure the slave configuration in the same way as we did the master:sudo nano /etc/mysql/my.cnfWe have to make sure that we have a few things set up in this configuration. The first is the server-id. This number, as mentioned before needs to be unique. Since it is set on the default (still 1), be sure to change it’s something different.server-id               = 2Following that, make sure that your have the following three criteria appropriately filled out:relay-log               = /var/log/mysql/mysql-relay-bin.loglog_bin                 = /var/log/mysql/mysql-bin.logbinlog_do_db            = newdatabaseYou will need to add in the relay-log line: it is not there by default.Once you have made all of the necessary changes, save and exit out of the slave configuration file.Restart MySQL once again:sudo service mysql restartThe next step is to enable the replication from within the MySQL shell.Open up the the MySQL shell once again and type in the following details, replacing the values to match your information:CHANGE MASTER TO MASTER_HOST='12.34.56.789',MASTER_USER='slave_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=  107;This command accomplishes several things at the same time:It designates the current server as the slave of our master server. It provides the server the correct login credentialsLast of all, it lets the slave server know where to start replicating from; the master log file and log position come from the numbers we wrote down previously.With that—you have configured a master and slave server. Activate the slave server:START SLAVE;You be able to see the details of the slave replication by typing in this command. The G rearranges the text to make it more readable.SHOW SLAVE STATUSG If there is an issue in connecting, you can try starting slave with a command to skip over it:SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; SLAVE START; All done. See MoreMySQL replication has a lot different options, and this was just a brief overview.If you have any further questions about the specific capabilities of MySQL, feel free to post your questions in our Q&A Forum and we’ll be happy to answer them. By Etel Sverdlov

登录后复制

现在我们需要以与我们做主机相同的方式配置从机配置:

sudo nano /etc/mysql/my.cnf我们必须确保我们在这个配置中设置了一些东西。 第一个是服务器标识。 这个数字,如前所述需要是唯一的。 因为它被设置为默认(仍然是1),一定要改变它的东西不同。server-id               = 2之后,请确保您已正确填写以下三个条件:relay-log               = /var/log/mysql/mysql-relay-bin.loglog_bin                 = /var/log/mysql/mysql-bin.logbinlog_do_db            = newdatabase

登录后复制

您将需要在中继日志行中添加:默认情况下不存在。 一旦完成所有必要的更改,保存并退出从配置文件。

再次重新启动MySQL:

sudo service mysql restart

登录后复制登录后复制

下一步是在MySQL shell中启用复制。

再次打开MySQL shell,输入以下详细信息,替换值以匹配您的信息:

CHANGE MASTER TO MASTER_HOST='12.34.56.789',MASTER_USER='slave_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=  107;

登录后复制

此命令同时完成几个事情:

它将当前服务器指定为我们的主服务器的从属。

它为服务器提供正确的登录凭据

最后,它让从服务器知道从哪里开始复制; 主日志文件和日志位置来自我们之前写下的数字。

这样,您已经配置了主服务器和从服务器。

激活从服务器:

START SLAVE;

登录后复制

通过键入此命令,您可以看到从复制的详细信息。 G重新排列文本,使其更易读。

SHOW SLAVE STATUSG

登录后复制

如果在连接中存在问题,可以尝试使用命令启动从器件以跳过它:

SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; SLAVE START; 

登录后复制

全做完了。

以上就是在MySQL中设置主从复制入门实例的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2193777.html

(0)
上一篇 2025年2月25日 19:52:38
下一篇 2025年2月25日 19:52:59

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 怎么在Linux上进行Golang服务部署

    一、安装 Golang 和必要的工具 在进行 Golang 服务部署前,首先需要安装 Golang 及必要的工具。可以通过以下命令来安装: sudo apt-get updatesudo apt-get upgradesudo apt-ge…

    编程技术 2025年3月28日
    100
  • linux node和cnpm如何安装

    linux node cnpm的安装方法:1、下载linux版的node,并放在“/home/node/”目录下 ;2、打开linux解压缩下gz;3、回到根目录,建立软连接;4、通过“npm install -g cnpm –…

    2025年3月28日 编程技术
    100
  • 如何在Linux上部署微服务架构

    如何在linux上部署微服务架构 微服务架构已经成为现代软件开发中的热门话题。它将一个大型应用程序拆分成多个独立的小型服务,每个服务都可以独立开发、测试、部署和扩展。这种架构能够改善系统的可维护性、可扩展性和可测试性。在本篇文章中,我们将讨…

    编程技术 2025年3月28日
    100
  • linux软件安装的目录是什么

    linux软件安装的位置主要有两个:1、“/opt”目录,是给主机额外安装软件所摆放的目录,是用户级的程序目录,这里常用于放置额外的大型软件;2、“/usr/local”目录,是“/usr”下的一个用户级的程序目录,用户自己安装的软件一般选…

    2025年3月28日
    100
  • Linux系统中Tomcat环境怎么配置

    如下操作步骤为linux系统中部署jtomcat环境 前提准备:成功安装jdk环境(jdk安装步骤) 检查linux系统版本,下载对应的tomcat安装包  uname -a   查看下系统信息 登录后复制 1.下载tomcat 安装包 2…

    2025年3月28日 编程技术
    100
  • linux如何设置tomcat自启动

    linux设置tomcat自动启动在centos下,开机后会自动执行/etc/rc.local中的命令。 平时启动tomcat的命令为: tomcat_home/bin/startup.sh或tomcat_home/bin/catalina…

    编程技术 2025年3月28日
    100
  • linux ls命令如何使用

    ls命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限…

    编程技术 2025年3月28日
    100
  • 基于 SSM 框架的在线选课管理系统:提升高校教务管理效率的利器

    其他项目基于linux的地震数据处理软件的设计与实现,点击作者主页 目录 1系统简介 随着信息化时代的发展基于linux的地震数据处理软件的设计与实现,互联网使人们的生活形式愈发方便。在近来几年面对各大院校的扩招新政,促使各院校的中学生人数…

    2025年3月28日 编程技术
    000
  • 在Linux系统上使用PyCharm进行Web开发的配置方法

    在linux系统上使用pycharm进行web开发的配置方法 随着互联网的发展,Web开发变得越来越重要。而PyCharm作为一款强大的Python集成开发环境(IDE),在Web开发领域也得到了广泛应用。本文将介绍在linux系统上使用p…

    编程技术 2025年3月28日
    100
  • Linux操作系统中如何修改环境变量

    方法一:在/etc/profile文件中添加变量【对所有用户生效(永久的)】   用vi在文件/etc/profile文件中增加变量,该变量将会对linux下所有用户有效,并且是“永久的”。   要让刚才的修改马上生效,需要执行以下代码 复…

    编程技术 2025年3月28日
    100

发表回复

登录后才能评论