Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
在MySQL中设置主从复制入门实例_创想鸟

在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数据库的配置。

Writer Writer

企业级AI内容创作工具

Writer 176 查看详情 Writer 第二步 – 配置从数据库

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

登录到从服务器,打开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中设置主从复制入门实例的详细内容,更多请关注创想鸟其它相关文章!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Python如何实现数据的分位数计算?
上一篇 2025年11月29日 17:32:25
如何查找Linux大容量目录 ncdu可视化分析工具指南
下一篇 2025年11月29日 17:32:26

相关推荐

  • 【Linux】While循环吃hang行了?(图是一个毒)

    【Linux】While循环吃hang行了?(图是一个毒)【Linux】While循环吃hang行了?(图是一个毒)【Linux】While循环吃hang行了?(图是一个毒)【Linux】While循环吃hang行了?(图是一个毒)

    最近被一首歌曲洗脑了:心火烧,原名《情伴》,作为新中国的第一首流行歌曲,绝对是神曲的开山祖师呀,而在《向往的生活》中被宋丹丹老师、黄磊老师等演绎后,每天忍不住哼唱? 进入正题 这两天因为测试准备了一个脚本,流程就是类似需要登录各个服务器然后执行命令,从设计上看感觉非常简单: 将各服务器的IP全部写入…

    2026年9月22日 用户投稿
    000
  • mysql怎么执行sql命令 mysql输入代码创建表详细步骤

    mysql怎么执行sql命令 mysql输入代码创建表详细步骤mysql怎么执行sql命令 mysql输入代码创建表详细步骤mysql怎么执行sql命令 mysql输入代码创建表详细步骤mysql怎么执行sql命令 mysql输入代码创建表详细步骤

    在mysql中执行sql并创建表的步骤如下:1.通过命令行或图形工具连接数据库,使用mysql -u 用户名 -p并输入密码登录;2.选择或创建数据库,用use database_name或create database语句;3.使用create table定义表结构,如字段名、数据类型、约束等,例…

    2026年9月22日 用户投稿
    100
  • LINUX怎么查看命令历史记录_Linux查看与清除历史命令的方法

    使用history命令查看历史记录,可通过history | grep搜索或上下箭头浏览,记录保存在~/.bash_history文件中;通过export HISTSIZE和HISTFILESIZE修改保存数量,并写入~/.bashrc永久生效;用history -c清空当前会话,> ~/.b…

    2026年9月22日
    000
  • 使用php连接mssql实现日志记录_通过php连接mssql完成日志管理

    使用PHP连接MSSQL可实现高效日志管理,首先需安装sqlsrv扩展并配置php.ini;接着通过sqlsrv_connect建立数据库连接,确保SQL Server启用TCP/IP协议;然后创建包含LogLevel、Message、Source等字段的AppLogs表;封装writeLog函数插…

    2026年9月22日
    000
  • Swift 3到5.1新特性整理

    tocSwift 5.1Swift 5.0Result类型Raw string自定义字符串插值动态可调用类型处理未来的枚举值从try?抹平嵌套可选检查整数是否为偶数字典compactMapValues()方法撤回的功能: 带条件的计数Swift 4.2CaseIterable协议警告和错误指令动态查…

    2026年9月22日
    000
  • MySQL安装后初始密码在哪里查看?

    MySQL安装后初始密码在哪里查看?MySQL安装后初始密码在哪里查看?MySQL安装后初始密码在哪里查看?MySQL安装后初始密码在哪里查看?

    mysql安装后的初始密码取决于安装方式和操作系统,通常可在错误日志中找到。1. 查看mysql错误日志:linux系统使用grep命令查找/var/log/mysqld.log或类似路径;windows系统在data目录下的hostname.err中搜索“temporary password”。2…

    2026年9月22日 用户投稿
    100
  • Winscp连接本地linux(centos7)

    要在本地linux系统(例如centos7)中查找ip地址,可以使用以下命令: ip addr show 或者更简洁的: ip a 这两个命令都会显示系统中所有网络接口的详细信息,包括IP地址。 如果你只想查看IPv4地址,可以使用以下命令: ip -4 addr show 或者使用ifconfig…

    2026年9月22日
    000
  • VSCode 如何配置 Python 虚拟环境 VSCode 配置 Python 虚拟环境的步骤​

    VSCode 如何配置 Python 虚拟环境 VSCode 配置 Python 虚拟环境的步骤​VSCode 如何配置 Python 虚拟环境 VSCode 配置 Python 虚拟环境的步骤​VSCode 如何配置 Python 虚拟环境 VSCode 配置 Python 虚拟环境的步骤​VSCode 如何配置 Python 虚拟环境 VSCode 配置 Python 虚拟环境的步骤​

    在vscode中配置python虚拟环境的核心是选择正确的解释器,确保项目依赖隔离;2. 首先在项目根目录使用python -m venv .venv创建虚拟环境,或使用conda、pipenv等工具;3. 在vscode中打开项目文件夹,通过ctrl+shift+p输入“python: selec…

    2026年9月22日 用户投稿
    100
  • MySQL最新版本如何下载?官方下载指南

    MySQL最新版本如何下载?官方下载指南MySQL最新版本如何下载?官方下载指南MySQL最新版本如何下载?官方下载指南MySQL最新版本如何下载?官方下载指南

    要下载mysql,推荐从官网直接下载;选择社区版或商业版取决于用途;下载时需选对操作系统和版本;安装遇到问题可查错误提示并搜索解决方案;验证安装成功可用命令行登录。下载步骤包括访问官网、选择版本与操作系统、使用installer、注册账号、开始下载安装。安装后配置root密码、字符集等。验证方式为命…

    2026年9月22日 用户投稿
    100
  • VSCode配合Vivado进行FPGA图像处理(算法加速与优化)

    答案:VSCode与Vivado结合可提升FPGA图像处理开发效率,前者用于代码编辑、版本控制和远程开发,后者负责综合、实现与调试,二者协同实现高效算法优化。 将VSCode与Vivado结合用于FPGA图像处理,本质上是利用VSCode作为高效的代码编辑、版本控制和辅助开发环境,来弥补Vivado…

    2026年9月22日
    200
  • linux系统下codeblocks控制台打印中文乱码[通俗易懂]

    linux系统下codeblocks控制台打印中文乱码[通俗易懂]linux系统下codeblocks控制台打印中文乱码[通俗易懂]linux系统下codeblocks控制台打印中文乱码[通俗易懂]linux系统下codeblocks控制台打印中文乱码[通俗易懂]

    大家好,很高兴再次和大家见面,我是你们的朋友全栈君。 在Linux系统下使用CodeBlocks时,如果在控制台中打印中文可能会遇到乱码问题。以下是解决这一问题的详细步骤: 首先,我们来看一下在Linux系统下安装CodeBlocks后,运行以下代码时出现的问题: #include #include…

    2026年9月22日 用户投稿
    600
  • VSCode搭建FPGA与ROS通信环境(机器人控制,硬件加速指南)

    VSCode可高效集成FPGA与ROS开发,通过远程SSH连接实现跨环境代码编辑、任务自动化与调试,结合FPGA通信接口设计与ROS节点开发,统一硬件与软件工作流,提升开发效率。 将VSCode作为FPGA与ROS通信的集成开发环境是完全可行的,甚至可以说,它是一个非常高效且灵活的选择。核心在于利用…

    2026年9月22日
    200
  • Linux基础必知必会(一)

    文章目录 前言 一、初识Linux操作系统 二、网络配置原理 三、虚拟机网络配置原理 四、虚拟机网络环境配置 五、远程工具Xshell 六、Linux目录结构讲解 七、Linux常用的命令讲解 八、用户和用户组的管理 结语 前言 为什么需要学习Linux系统? 许多人可能疑惑,为什么在当前可视化操作…

    2026年9月22日
    1200
  • Oracle定时任务

    oracle 介绍 oracle job 是应用在数据库层面,用来定时执行存储过程或者 SQL 语句的定时器。 测试数据代码语言:javascript代码运行次数:0运行复制 –建测试表CREATE TABLE TEST_JOB( DATETIME DATE, BEG_DATE VARCHAR2(…

    2026年9月22日
    500
  • Linux系统如何解压rar文件

    大家好,很高兴再次与大家见面,我是你们的老朋友全栈君。 1、获取Linux版本的rar软件 前往官方网站,下载最新版的Linux rar软件包。 2、解压已下载的安装文件 使用以下命令解压压缩包: tar -xzpvf rarlinux-x64-610b2.tar.gz 3、编译并安装软件 进入解压…

    2026年9月22日
    100
  • Sublime开发MySQL备份与恢复脚本方案_实现定时导出与自动导入机制

    Sublime开发MySQL备份与恢复脚本方案_实现定时导出与自动导入机制Sublime开发MySQL备份与恢复脚本方案_实现定时导出与自动导入机制Sublime开发MySQL备份与恢复脚本方案_实现定时导出与自动导入机制Sublime开发MySQL备份与恢复脚本方案_实现定时导出与自动导入机制

    使用sublime编写mysql备份与恢复脚本能提升数据安全性与操作效率;1.通过shell或python调用mysqldump实现自动备份,建议加入时间戳、压缩存储及权限设置;2.结合cron配置定时任务实现自动化,注意使用绝对路径并添加日志记录;3.编写恢复脚本导入sql文件,需确保数据库结构一…

    2026年9月22日 用户投稿
    100
  • NFV中:DPDK与SR-IOV应用场景及性能对比

    NFV中:DPDK与SR-IOV应用场景及性能对比NFV中:DPDK与SR-IOV应用场景及性能对比NFV中:DPDK与SR-IOV应用场景及性能对比NFV中:DPDK与SR-IOV应用场景及性能对比

    关于作者 作者简介: 张帅,Wechat:yorkszhang 网站:www.flowlet.net DPDK和SR-IOV目前主要用于提升IDC(数据中心)中的网络数据包处理速度。然而,在NFV(网络功能虚拟化)场景下,DPDK与SR-IOV各自的应用场景和优缺点是什么呢?本文将从以下几个方面来探…

    2026年9月22日 用户投稿
    000
  • Linux命令行中last命令的实用技巧

    last命令用于查看Linux用户登录历史,读取/var/log/wtmp文件。1. 查看指定用户登录记录:执行last username(如last alice)可审计特定账户活动;2. 限制输出行数:使用last -n 10或last -10避免刷屏,便于脚本处理;3. 识别远程登录来源:pts…

    2026年9月22日
    000
  • rm -rf 误删文件?别急,或许有救!

    rm -rf 误删文件?别急,或许有救!rm -rf 误删文件?别急,或许有救!rm -rf 误删文件?别急,或许有救!rm -rf 误删文件?别急,或许有救!

    立即采取行动! 在生产环境中,我们应尽量避免进行风险操作。但如果不慎犯错,如何挽救呢?让我分享一个故事:上周我为了打包一个应用,需要整理Ubuntu 16.04上的线上数据,不小心删除了一个数据文件,幸而最终有惊无险,现记录如下。 extundelete 我的恢复计划主要依赖于一个工具——extun…

    2026年9月22日 用户投稿
    000
  • unix怎么安装php_unix系统安装php环境指南

    首先确认系统环境并检查是否已安装相关软件,然后选择包管理器或源码编译方式安装PHP;推荐使用包管理器快速安装,如Debian/Ubuntu用apt,CentOS/RHEL/Fedora用yum或dnf,FreeBSD用pkg;安装后配置Web服务器,Apache需加载mod_php或集成PHP-FP…

    2026年9月22日
    300

发表回复

登录后才能评论
关注微信