VMware——WindowServer2012R2环境mysql5.7.14解压版安装主从复制(图解版)

news2024/11/15 4:10:38

目录

    • 一、服务器信息
    • 二、192.168.132.33主服务器上安装mysql(
      • 2.1、环境变量配置
      • 2.2、安装
        • 2.2.1、修改配置文件内容
        • 2.2.2、初始化mysql并指定超级用户密码
        • 2.2.3、安装mysql服务
        • 2.2.4、启动mysql服务
        • 2.2.5、登录用户管理及密码修改
        • 2.2.6、开启远程访问
    • 三、192.168.132.34从服务器上安装mysql(
    • 四、mysql主从配置
      • 4.1、修改两台服务器上mysql配置文件
        • 4.1.1、修改192.168.132.33主服务器上mysql配置(
        • 4.1.2、修改192.168.132.34从服务器上mysql配置(
      • 4.2、创建两台服务器Replication用户
        • 4.2.1、192.168.132.33主服务器上创建Replication用户(
        • 4.2.2、192.168.132.34从服务器上创建Replication用户(
      • 4.3、查看192.168.132.33主服务器的mysql bin log位置(
      • 4.4、设置192.168.132.34从服务器的Slave Replication(
      • 4.5、查看192.168.132.34从服务器是否设置成功
    • 五、mysql主从复制测试
      • 5.1、192.168.132.33主服务器创建数据库
      • 5.2、192.168.132.34从服务器查看192.168.132.33主服务器创建的数据库

一、服务器信息

服务器ip服务器角色
192.168.132.33
192.168.132.33

二、192.168.132.33主服务器上安装mysql(

2.1、环境变量配置

  • 解压版mysql-5.7.14-winx64.zip版本mysql到C:\software\目录下
    在这里插入图片描述
  • 右击计算机―【属性】―【高级系统设置】―【环境变量】-【系统变量】-【新建】
    说明:由于我把mysql安装在C:\software\mysql-5.7.14-winx64文件下所以以这个路径为例
    变量名:MYSQL_HOME
    变量值:C:\software\mysql-5.7.14-winx64
    在这里插入图片描述
  • 找到系统变量“Path”然后点击【编辑】按钮。在变量值后面加上【 ;%MYSQL_HOME%\bin;】一定要记住每增加一条变量都要用分号隔开,点击【确认】
    变量名:Path
    变量值:在原有的值后面加上:;%MYSQL_HOME%\bin;
    在这里插入图片描述

2.2、安装

2.2.1、修改配置文件内容
  • 找到mysql安装目录,my-default.ini重命名为my.ini,编辑my.ini文件内容,如下:

    [mysql]
    port = 3306
    default-character-set=utf8
    [mysqld]
    port = 3306
    basedir=C:\\software\\mysql-5.7.14-winx64
    datadir=C:\\software\\mysql-5.7.14-winx64\\data
    max_connections=200
    character-set-server=utf8
    default-storage-engine=INNODB
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    

    在这里插入图片描述

2.2.2、初始化mysql并指定超级用户密码
  • 启动命令行,将目录切换到mysql安装目录的bin目录下。在命令行执行命令:结果如下图所示,记住下图中红框位置这个 临时密码。

    mysqld --initialize --user=mysql --console
    

    在这里插入图片描述

2.2.3、安装mysql服务
  • 执行mysqld --install命令,返回结果:Service successfully installed。表示成功,如下图:

在这里插入图片描述

  • 快捷键win+r,执行services.msc查看服务,看看mysql服务是否已出现,如下图表示ok。
    在这里插入图片描述
2.2.4、启动mysql服务
  • 执行如下命令,启动mysql服务,如下图:

    net start mysql 
    

在这里插入图片描述

  • 如果发生错误:执行mysqld -remove命令移除mysql服务,然后执行mysqld --install重新安装,最后在执行net start mysql启动服务。

    #移除mysql服务
    mysqld -remove
    #重新安装
    mysqld --install
    #启动服务
    net start mysql
    
  • 如果无法启动程序,丢失MSVCR120.dll,这是微软官网的链接 https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=40784 下载自己对应的版本,安装,一般可以解决。
    在这里插入图片描述

2.2.5、登录用户管理及密码修改
  • 输入命令行如下命令,利用之前的临时密码输入即可登录数据库

    mysql -u root -p
    

    在这里插入图片描述

  • 修改root用户密码

    SET PASSWORD = PASSWORD('123456');
    update mysql.user set Host='%' where HOST='localhost' and User='root';
    flush privileges;
    

    在这里插入图片描述

2.2.6、开启远程访问
  • 查询所有数据库,进入mysql库,查询用户。
    说明:host为localhost表示只允许本地登录,host为ip表示为只允许指定ip用户登录,host为%为允许任意ip用户登录

    #查询所有数据库
    show databases;
    #进入mysql库
    use mysql;
    #查询用户
    select user,host from user; 
    

在这里插入图片描述

  • 新建允许远程链接mysql数据库的test用户

    #表示创建一个登录名为test,密码为123456供任意ip访问的用户(%可用具体ip替代)
    grant all on *.* to test@'%' identified by '123456' with grant option;
    flush privileges;
    

在这里插入图片描述

三、192.168.132.34从服务器上安装mysql(

  • 安装步骤与192.168.132.33服务器上安装mysql()步骤相同。

四、mysql主从配置

4.1、修改两台服务器上mysql配置文件

4.1.1、修改192.168.132.33主服务器上mysql配置(
  • 修改192.168.132.33主服务器my.ini文件中的配置,在[mysqld]部分增加如下内容,(server_id的值要与从服务器不同,其他内容相同,binlog_do_db的值为需要进行主从备份的数据库)

    init_connect='SET NAMES utf-8'
    innodb_buffer_pool_size=64M
    innodb_flush_log_at_trx_commit=1
    innodb_lock_wait_timeout=120
    innodb_log_buffer_size=4M
    innodb_log_file_size=256M
    interactive_timeout=120
    join_buffer_size=2M
    key_buffer_size=32M
    max_allowed_packet=16M
    max_heap_table_size=64M
    myisam_max_sort_file_size=64G
    myisam_sort_buffer_size=32M
    read_buffer_size=512kb
    read_rnd_buffer_size=4M
    skip_external_locking=on
    sort_buffer_size=256kb
    table_open_cache=256
    thread_cache_size=16
    tmp_table_size=64M
    wait_timeout=120
    server_id =1
    log_bin=C:\\software\\mysql-5.7.14-winx64\\mysqlbin
    #binlog记录内容的方式,记录被操作的每一行
    binlog_format=ROW
    #减少记录日志的内容,只记录受影响的列
    binlog_row_image=minimal
    #指定需要复制的数据库名为db_test,如果备份多个数据库,重复设置这个选项即可
    binlog_do_db=db_test
    #不需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可
    binlog_ignore_db=mysql
    binlog_ignore_db=performance_schema
    binlog_ignore_db=information_schema
    binlog_ignore_db=sys
    # 这个参数要加上,否则不会给更新的记录些到二进制文件里(未测试)
    log-slave-updates=1
    #开启慢查询日志
    slow_query_log=1
    slow_query_log_file=C:\\software\\mysql-5.7.14-winx64\\mysql_slow_query.log
    long_query_time=10
    log_error=C:\\software\\mysql-5.7.14-winx64\\mysql_error.log
    
  • 重启192.168.132.33主服务器MySQL服务
    在这里插入图片描述

4.1.2、修改192.168.132.34从服务器上mysql配置(
  • 修改192.168.132.34从服务器my.ini文件中的配置,在[mysqld]部分增加如下内容,(server_id 的值要与主服务器不同,其他内容相同,binlog_do_db的值为需要进行主从备份的数据库)

    init_connect='SET NAMES utf-8'
    innodb_buffer_pool_size=64M
    innodb_flush_log_at_trx_commit=1
    innodb_lock_wait_timeout=120
    innodb_log_buffer_size=4M
    innodb_log_file_size=256M
    interactive_timeout=120
    join_buffer_size=2M
    key_buffer_size=32M
    max_allowed_packet=16M
    max_heap_table_size=64M
    myisam_max_sort_file_size=64G
    myisam_sort_buffer_size=32M
    read_buffer_size=512kb
    read_rnd_buffer_size=4M
    skip_external_locking=on
    sort_buffer_size=256kb
    table_open_cache=256
    thread_cache_size=16
    tmp_table_size=64M
    wait_timeout=120
    server_id =2
    log_bin=C:\\software\\mysql-5.7.14-winx64\\mysqlbin
    #binlog记录内容的方式,记录被操作的每一行
    binlog_format=ROW
    #减少记录日志的内容,只记录受影响的列
    binlog_row_image=minimal
    #指定需要复制的数据库名为db_test,如果备份多个数据库,重复设置这个选项即可
    binlog_do_db=db_test
    #不需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可
    binlog_ignore_db=mysql
    binlog_ignore_db=performance_schema
    binlog_ignore_db=information_schema
    binlog_ignore_db=sys
    # 这个参数要加上,否则不会给更新的记录些到二进制文件里(未测试)
    log-slave-updates=1
    #开启慢查询日志
    slow_query_log=1
    slow_query_log_file=C:\\software\\mysql-5.7.14-winx64\\mysql_slow_query.log
    long_query_time=10
    log_error=C:\\software\\mysql-5.7.14-winx64\\mysql_error.log
    
  • 如果是复制的192.168.132.33服务器到192.168.132.34服务器,需要修改192.168.132.34服务器C:\software\mysql-5.7.14-winx64\data\auto.conf文件中的值,需要与192.168.132.33服务器中的值不同。
    一定要修改值不一样,此处大坑。。。。。。

  • 重启192.168.132.34从服务器MySQL服务
    在这里插入图片描述

4.2、创建两台服务器Replication用户

4.2.1、192.168.132.33主服务器上创建Replication用户(
  • 创建Repl用户

    grant all on *.* to 'repl'@'%' identified by '123456' with grant option;
    grant replication slave on *.* to 'repl'@'%';
    grant replication client,replication slave on *.* to 'repl'@'%' identified by '123456';
    flush privileges;
    

在这里插入图片描述

4.2.2、192.168.132.34从服务器上创建Replication用户(
  • 创建Repl用户

    grant all on *.* to 'repl'@'%' identified by '123456' with grant option;
    grant replication slave on *.* to 'repl'@'%';
    grant replication client,replication slave on *.* to 'repl'@'%' identified by '123456';
    flush privileges;
    

在这里插入图片描述

4.3、查看192.168.132.33主服务器的mysql bin log位置(

  • 查看192.168.132.33主服务器上mysql bin log位置,执行如下命令:

    #锁定表,禁止所有操作。防止bin log位置发生变化
    flush tables with read lock;
    #查看192.168.132.33主服务器上bin log位置
    show master status;
    #解除192.168.132.33主服务器上mysql table的锁定
    unlock tables;
    
  • 其中file的值mysqlbin.000005和Position的值154在从库设置Slave Replication中会使用到 ,执行如下命令:

    在这里插入图片描述

4.4、设置192.168.132.34从服务器的Slave Replication(

  • 设置192.168.132.34从服务器上的Slave Replication,执行如下命令:

    stop slave;
    change master to master_host = '192.168.136.33', master_user = 'repl', 
    master_password = '123456', master_port = 3306, master_connect_retry=30, master_log_file = 'mysqlbin.000005',master_log_pos = 154; 
    start slave;
    

    在这里插入图片描述

4.5、查看192.168.132.34从服务器是否设置成功

  • 查看192.168.132.34从服务器是否设置成功,执行如下命令:

    show slave status\G;
    
  • 其中Slave_IO_Running:Yes Slave_SQL_Running:Yes表示主从复制已成功,如下图:
    在这里插入图片描述

五、mysql主从复制测试

5.1、192.168.132.33主服务器创建数据库

  • 创建db_test数据库,创建表t_user并新增一条数据,如下图:
    在这里插入图片描述

5.2、192.168.132.34从服务器查看192.168.132.33主服务器创建的数据库

  • 查看db_test数据库、t_user表及表中数据,如下图:

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1228809.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【论文复现】QuestEval:《QuestEval: Summarization Asks for Fact-based Evaluation》

以下是复现论文《QuestEval: Summarization Asks for Fact-based Evaluation》(NAACL 2021)代码https://github.com/ThomasScialom/QuestEval/的流程记录: 在服务器上conda创建虚拟环境questeval(python版本于readme保持一致&…

Open AI开发者大会:AI“科技春晚”

ChatGPT的亮相即将满一年之时,OpenAI举行了自己的首次开发者大会。OpenAI首席执行官Sam Altman宣布推出最新的大模型GPT-4 Turbo。正如“Turbo”一词的中文含义“涡轮增压器”一样,本次发布会上,OpenAI的这款最新大模型在长文本、知识库、多模…

【计算思维】蓝桥杯STEMA 科技素养考试真题及解析 3

1、下图中,乐乐家的位置用数对(4,3)表示,学校在乐乐家西南方向。下列选项中,学校的位置不可能是 A、(5,4) B、(2,2) C、(2,1) D、&#xff…

进程之理解进程的概念

你必须非常努力,才能看起来毫不费力。文章目录 进程的基本概念描述进程——pcbtest_struct pcb的一种task_struct 内容分类 组织进程查看进程通过系统调用获取进程标示符总结 进程的基本概念 课本概念:进程是一个执行实列,正在执行的程序等。…

数据结构 堆

手写堆&#xff0c;而非stl中的堆 如何手写一个堆&#xff1f; //将数组建成堆 <O(n) for (int i n / 2;i;i--) //从n/2开始down down(i); 从n/2元素开始down&#xff0c;最下面一层元素的个数是n/2&#xff0c;其余上面的元素的个数是n/2&#xff0c;从最下面一层到最高层…

【汇编】[bx+idata]的寻址方式、SI和DI寄存器

文章目录 前言一、[bxidata]寻址方式1.1 [bxidata]的含义1.2 示例代码 二、SI和DI寄存器2.1 SI和DI寄存器是什么&#xff1f;2.2 [bxsi]和[bxdi]方式寻址2.3 [bxsiidata]和[bxdiidata] 总结 前言 在汇编语言中&#xff0c;寻址方式是指指令如何定位内存中的数据。BX寄存器与偏…

滚雪球学Java(09-5):Java中的赋值运算符,你真的掌握了吗?

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java SE相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

拷贝对象时编译器的一些优化

在传参和传值返回的过程中&#xff0c;编译器会通过一些优化减少拷贝的次数。 class A { public:A():_a(1){cout << "A()" << endl;}A(const A& aa):_a(aa._a){cout << "A(const A& aa)" << endl;}A& operator(const …

【原创】WeChat Server搭建

功能 微信公众号的后端&#xff0c;为其他系统提供微信登录验证功能 源码地址 https://github.com/songquanpeng/wechat-server 创建MySQL数据库 宝塔\数据库\MySQL 添加数据库 数据库名&#xff1a;wechat_server 用户名&#xff1a;wechat_server 密码&#xff1a;fZNB…

商业化三年,OceanBase在忙什么?

文&#xff5c;刘雨琦 2020年&#xff0c;国产数据库厂商OceanBase&#xff08;以下简称OB&#xff09;商业化的第一年&#xff0c;只有18个客户。 如何打开局面&#xff0c;让这个从蚂蚁场景中走出来的数据库活下去&#xff0c;并进入到更多的场景里&#xff0c;发挥更大的价…

【开源】基于Vue和SpringBoot的教学过程管理系统

项目编号&#xff1a; S 054 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S054&#xff0c;文末获取源码。} 项目编号&#xff1a;S054&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 教师端2.2 学生端2.3 微信小程序端2…

【Java】线程池源码解析

目录 一、线程池介绍 1.1、什么是线程池 1.2、线程池的工作原理 二、Executor框架接口 2.1、JDK提供的原生线程池 2.2、类关系 三、线程池核心源码分析 3.1、关键属性 3.2、状态控制 3.3、线程池状态的跃迁 3.4、execute方法源码分析 3.5、addWorker方法源码分析 3…

【LeetCode刷题日志】232.用栈实现队列

&#x1f388;个人主页&#xff1a;库库的里昂 &#x1f390;C/C领域新星创作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏✨收录专栏&#xff1a;LeetCode 刷题日志&#x1f91d;希望作者的文章能对你有所帮助&#xff0c;有不足的地方请在评论区留言指正&#xff0c;…

quinn源码解析:QUIC数据包是如何发送的

quinn源码解析&#xff1a;QUIC数据包是如何发送的 简介QUIC协议中的概念endpoint&#xff08;端点&#xff09;connection&#xff08;连接&#xff09;Stream&#xff08;流&#xff09;Frame (帧) 发包过程解析SendStream::write_allConnectionDriverEndpointDriver 简介 q…

【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

&#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…

项目自动化构建工具——make/Makefile

目录 一、概念 二、使用实例 三、原理 四、进度条程序 1、缓冲区问题 1、概念 2、\r和\n 2、代码编写 一、概念 一个工程中的源文件不计数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;makefile定义了一系列的规则来指定&#xff0c;哪些文件需要先…

第五篇 《随机点名答题系统》——抽点答题详解(类抽奖系统、在线答题系统、线上答题系统、在线点名系统、线上点名系统、在线考试系统、线上考试系统)

目录 1.功能需求 2.界面设计 3.流程设计 4.关键代码 随机点名答题系统&#xff08;类抽奖系统、在线答题系统、线上答题系统、在线点名系统、线上点名系统、在线考试系统、线上考试系统&#xff09;&#xff0c;是基于php&#xff08;8.2.11&#xff09;&#xff0c;Java…

迪克森电荷泵

迪克森电荷泵&#xff08;Dickson Charge Pump&#xff09;是一种电压倍增器电路&#xff0c;可以将低电压升高到较高电压&#xff0c;相对于其他电压升压电路&#xff0c;迪克森电荷泵具有较高的效率和较简单的电路结构。该电路的基本原理是通过电容和开关来实现电荷的积累和转…

上海亚商投顾:三大指数小幅上涨 HBM概念股全天强势

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数早盘窄幅震荡&#xff0c;午后集体拉升翻红&#xff0c;黄白二线走势分化&#xff0c;题材热点快速轮…

计算两个向量的叉积numpy.cross()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算两个向量的叉积 numpy.cross() [太阳]选择题 请问代码中最后输出正确的是&#xff1f; import numpy as np a np.array([1, 2, 3]) b np.array([4, 5, 6]) c np.cross(a, b) pri…