同一台电脑windows环境下的mysql的主从配置

1.下载5.6.zip包

从mysql的官网下载5.6对应的zip包,因为5.7版本解压后没有.ini文件,所以改成安装5.6版本了。

2.配置

解压zip包,并复制一份待配置从库

在我的mysql中需要D:\software\mysql\mysql1和D:\software\mysql\mysql2两个

3.安装mysql主服务器

更改D:\software\mysql\mysql1路径下的my-default.ini文件my.ini

在文件中添加如下配置: 注意这个路径的方向一定要是右斜杠,因为这个方向折腾了一下午

basedir=D:/software/mysql/mysql1
datadir=D:/software/mysql/mysql1/data
binlog-do-db=test
binlog-ignore-db=mysql
log-bin=mysql-bin

server-id=1

然后安装mysql: 以管理员身份运行cmd窗口,然后切换到压缩包所在的bin目录

然后输入命令mysqld install 出现以下成功提示代表安装成功:

如果提示“Service successfully installed”,则说明mysql服务安装成功,默认的服务名称为MySQL,端口号为3306,密码默认为空
连接mysql主服务器

mysql -uroot -p -P3306
1
然后创建新用户:

create user ‘mytest‘@‘127.0.0.1‘ identified by ‘123456‘;
1
注:
@后面的ip地址为允许连接的客户端的ip地址。mytest是用户名,123456是密码

然后,给新用户配置主从复制的权限:

grant replication slave on *.* to ‘mytest‘@‘127.0.0.1‘ identified by ‘123456‘;
1
注:
@后面的ip地址为允许连接的客户端的ip地址,如果改为 ‘%’,就表示客户端没有ip地址的限制

然后查看主服务master的状态:
mysql> show master status;

注意:
记住file,和position,因为等下配置从数据库的时候会用到
4.安装mysql从服务器

找到mysql2的配置文件模板D:\software\mysql\mysql2 目录下的 my-default.ini,重命名为 my.ini,并修改如下这几项:

[client]
port = 3307
[mysqld]
port= 3307
basedir=D:/software/mysql/mysql2
datadir=D:/software/mysql/mysql2/data
server-id = 2

注意:在添加上述几行内容的时候 是在已有的[mysql]后面添加的,并不是在my.ini的末尾添加

保存my.ini后,用 管理员身份 运行cmd,并切换到D:\software\mysql\mysql2\bin目录下,运行

mysqld install MySQL2 --defaults-file="D:\software\mysql\mysql2\my.ini"

代表安装成功了

连接从服务器

mysql -uroot -p -P3307

如果报错:ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)

则启动mysql2服务  net start mysql2

在services.msc中查看mysql和mysql2保证都是已启动的状态

在此之后输入mysql -uroot -p -P3307 则可连接上从库成功

从库上输入命令:

change master to master_host=‘127.0.0.1‘,master_port=3306,master_user=‘mytest‘,master_password=‘111111‘,master_log_file=‘mysql-bin.000003‘,master_log_pos=120;

这里的master_log_file和master_log_pos对应刚才show master status记下的参数。

在从库开启从数据库复制功能: 输入命令 start slave;

查看从服务器的slave状态: show slave status;

+----------------+-------------+-------------+-------------+---------------+------------------+---------------------+----------------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+--------------------------------------------------------------------------------------------------------------------+----------------+----------------+-----------------------------+------------------+--------------------------------------+-------------------------------------------+-----------+----------
-----------+-----------------------------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------+---------------+
| Slave_IO_State | Master_Host | Master_User | Master_Port | Connect_Retry | Master_Log_File | Read_Master_Log_Pos | Relay_Log_File | Relay_Log_Pos | Relay_Master_Log_File | Slave_IO_Running | Slave_SQL_Running | Replicate_Do_DB | Replicate_Ignore_DB | Replicate_Do_Table | Replicate_Ignore_Table | Replicate_Wild_Do_Table | Replicate_Wild_Ignore_Table | Last_Errno | Last_Error | Skip_Counter | Exec_Master_Log_Pos | Relay_Log_Space | Until_Condition | Until_Log_File | Until_Log_Pos | Master_SSL_Allowed | Master_SSL_CA_File | Master_SSL_CA_Path | Master_SSL_Cert | Master_SSL_Cipher | Master_SSL_Key | Seconds_Behind_Master | Master_SSL_Verify_Server_Cert | Last_IO_Errno | Last_IO_Error | Last_SQL_Errno | Last_SQL_Error | Replicate_Ignore_Server_Ids | Master_Server_Id | Master_UUID | Master_Info_File | SQL_Delay | SQL_Remai
ning_Delay | Slave_SQL_Running_State | Master_Retry_Count | Master_Bind | Last_IO_Error_Timestamp | Last_SQL_Error_Timestamp | Master_SSL_Crl | Master_SSL_Crlpath | Retrieved_Gtid_Set | Executed_Gtid_Set | Auto_Position |
+----------------+-------------+-------------+-------------+---------------+------------------+---------------------+----------------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+--------------------------------------------------------------------------------------------------------------------+----------------+----------------+-----------------------------+------------------+--------------------------------------+-------------------------------------------+-----------+----------
-----------+-----------------------------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------+---------------+
| | 127.0.0.1 | mytest | 3306 | 60 | mysql-bin.000003 | 120 | GHS-20181030HMJ-relay-bin.000001 | 4 | mysql-bin.000003 | No | Yes | | | | | | | 0 | | 0 | 120 | 120 | None | | 0 | No | | | | | | NULL | No | 1236 | Got fatal error 1236 from master when reading data from binary log: ‘Misconfigured master - server_id was not set‘ | 0 | | | 1 | 32944960-304b-11e9-9dc5-84ef184c5602 | D:\software\mysql\mysql2\data\master.info | 0 |
NULL | Slave has read all relay log; waiting for the slave I/O thread to update it | 86400 | | 190215 13:57:47 | | | | | | 0 |
+----------------+-------------+-------------+-------------+---------------+------------------+---------------------+----------------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+--------------------------------------------------------------------------------------------------------------------+----------------+----------------+-----------------------------+------------------+--------------------------------------+-------------------------------------------+-----------+----------
-----------+-----------------------------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------+---------------+

此处的io/running是no证明同步有问题,必须两个值都是yes的时候才证明同步是没有问题的,那么有问题可以查看mysql2下的data里面以err为结尾的日志

2019-02-15 13:57:47 7072 [Note] Slave SQL thread initialized, starting replication in log ‘mysql-bin.000003‘ at position 120, relay log ‘.\GHS-20181030HMJ-relay-bin.000001‘ position: 4
2019-02-15 13:57:47 7072 [ERROR] Error reading packet from server: Misconfigured master - server_id was not set (server_errno=1236)
2019-02-15 13:57:47 7072 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: ‘Misconfigured master - server_id was not set‘, Error_code: 1236
2019-02-15 13:57:47 7072 [Note] Slave I/O thread exiting, read up to log ‘mysql-bin.000003‘, position 120

日志里面提示在mysql1中的my.ini文件中未设置server-id的值,现在添加上

但是添加上之后发现io依然是no,那需要做如下操作:

从库stop slave

主库服务在服务进程中停止后重启服务,然后从库中重新执行change命令

再重新start slave;

然后show slave status;此时查看已经都是yes;

故第一次设置的时候务必要添加server-id=1

=========================================================验证主从配置成功==========================================================

在主的test数据库中创建表;

create table tb_emp(
  id int primary key auto_increment,
  Name varchar(18),
  sex varchar(2)
);可以发现在从库中show tables;命令执行之后 有表tb_emp的存在;

原文地址:https://www.cnblogs.com/healthinfo/p/10375322.html

时间: 2024-10-11 08:08:59

同一台电脑windows环境下的mysql的主从配置的相关文章

Windows环境下MongoDB的安装与配置

MongoDB是一种高性能的文档型数据库,现介绍一下在Windows环境下MongDB的安装与配置 获取MongoDB 打开官方网站 www.mongodb.org,找到页面右上解的DownLoad链接 点击DOWNLOAD下载  目前最新的版本是3.2.4,下载好后选择安装目录,这里选择d:\mongo3.2 配置MongoDB 在目录 d:\mongo3.2下新建一个mongo.config文件,这个文件是用来对MONGODB进行配置用的, 在d:\mongo3.2\bin下新建一个目录db

windows环境下使用MySQL导入数据乱码报错的解决办法

Linux及Mac系统下使用source xxx.sql 可直接导入测试数据(注意必须先切换到当前xxx.sql的目录下), 但在Windows环境下导入会出现乱码报错的情况, 主要是因为编码的问题,解决方法如下: 1. 先切换路径到xxx.sql的目录下; 2. 使用cmd或PowerShell 登陆MySQL数据库; 3. 先输入     set  names  utf8 4. 再输入      source  xxx.sql        (或者把文件夹拖到终端也可以) 原文地址:http

在windows环境下搭建mysql集群

1. 前(fei)言(hua) 最近实训老师给我们布置了一个建立mysql集群的任务,并扔了两个博客链接给我们参考,然后就没有然后了.根据老师给的博客上面的步骤试了一下,发现并不能成功建立,于是自己百度,找到了一个挺靠谱的博客,于是参考了一下,感觉总体还是不错的~ 靠谱的博客: http://blog.csdn.net/mazhaojuan/article/details/42211857 2. 理论基础知识 首先需要了解什么是管理节点.数据节点和SQL节点~ (1)管理结点:从名字可以看出来,

Windows环境下初始化mysql

Linux环境中,安装好mysql后,还不能直接启动服务,必须先对数据库进行初始化.初始化的工作主要包括: 初始化日志.表空间等数据库必须的文件: 创建并初始化系统数据库(mysql). 初始化完成后,启动mysqld守护进程,方可访问数据库. 在Windows的环境下,安装包内已经自带了一个初始化好的环境,安装后展开在mysql根目录的data子目录.所以并不需要手工进行初始化.但是某些情况下,也可能需要从零开始初始化数据库,比如: 数据文件被破坏,需要重建: 希望保留现有环境不动,建立一个新

Linux & Windows 环境下 RabbitMQ 安装与基本配置

索引: 开源Spring解决方案--lm.solution 参看代码 GitHub: rabbitmq.txt 一.Linux (DeepinOS) 环境 1 1.安装: 2 sudo apt install rabbitmq-server 3 2.进入目录 -- /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.10/sbin: 4 输入命令启动: 5 sudo rabbitmq-server 6 3.安装以后可以通过下面的命令,停止: 7 sudo rabb

windows环境下修改Mysql的root密码

最近一直没用Mysql,root密码给忘了,然后就自己修改了一下,现在整理一下步骤.(我的版本是5.1) 1.首先得到Mysql的bin路径,copy下来. 右击,选择属性. 2.打开命令窗口“CMD”,将路径切换到刚刚复制的Mysql路径下: >>cd C:\Program Files\MySQL\MySQL Server 5.1\bin 关闭SQL服务: >>net stop mysql 然后再输入: >> mysqld --skip-grant-tables 3.

Windows环境下的git与github配置

有关git和github的废话就不必多说了,记录一下在windows下配置git和github环境的步骤 1. 首先,需要安装git,如下图所示: 2. 注册github账号 3. 生成SHH Key GitHub选择的默认通信方式是SSH,所以要先在Git里面生成SHH Key,打开Git Bash在其中输入如下命令: 之后一路next,即大功告成. 3. 前往系统用户文件夹复制SHH Key 具体路径为:C:\Users\{username}\.ssh 用记事本打开id_rsa.pub文件,

【Redis学习】:Windows环境下的Redis安装与配置

Redis简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key- Value数据库,并提供多种语言的API. 它通常被称为数据结构服务器,因为值(value)可以是字符串(String), 哈希(Map), 列表(list), 集 合(sets) 和 有序集合(sorted sets)等类

Windows 环境下 PHP 安装 xdebug 及配置

0 引言 目前手动将 PHP 由 7.1.x 升级到 7.2.y 后,VS Code 中的 xdebug 无法使用,用 phpinfo() 查看相关信息,发现 xdebug 插件并未激活——在 phpinfo() 页面看不到 xdebug 的相关信息. 实际上已经在xdebug官网下载了对应版本的dll文件(如下图所示),且在 php.ini 文件中设置了 xdebug 相关dll文件的关联. [PHP_XDEBUG] zend_extension = "C:\Program Files\php