在windows环境下mysql搭建主从

在windows环境下搭建主从

如果原来有mysql
可以先把原数据库进行备份防止数据丢失

    在cmd界面进入到mysql文件的bin目录
    执行以下语句,导出sql语句

    mysqldump.exe -h localhost -uroot -p affairs > D:/shop.sql

1)需要配置环境变量,并停用以前的mysql环境变量

2)复制新的mysql中的my-default.ini为my.ini作为配置文件

3)进入新的上一步的my.ini添加配置

  • 在[mysqld]下配置

      #端口号
     port 3307
    
     #安装目录
     basedir=D:\mysql_server_5.6.24
    
    #运行目录    
    datadir=D:\mysql_server_5.6.24\data
    
    #日志配置  如果配置此项需要事先将目录建好
    log-error=D:\MysqlServer5.6\logs\error.log
    log=D:\MysqlServer5.6\logs\mysql.log
    long_query_time=2
    log-slow-queries=D:\MysqlServer5.6\logs\slowquery.log
    

    以管理员权限打开cmd
    如果之前打开过cmd需要重新关闭重新打开
    跳转到mysql的bin目录 安装

     mysqld -install (服务器上只有一个mysql的情况)
    

    如果有mysql,需要执行以下命令指定配置文件目录

    D:\Mysql_Server_5.6.24\bin>mysqld.exe install mysql2 --defaults-file="D:\Mysql_Server_5.6.24\my.ini"
    
    如果成功会有以下提示:
    Service successfully installed.
    

然后重启新的mysql2

D:\Mysql_Server_5.6.24\bin>net start mysql2

net start mysql   启动mysql服务

net stop mysql   停止mysql服务

(此配置可以不添加)Windows 添加服务: [ 防止2个mysql服务冲突 ]

( 安装路径)
sc create mysql2server binPath= "E:\MysqlServer5.6\bin\mysqld.exe"
(是否自动开启)
 TYPE= "own" start= "auto"

 TAG= "no" Display   

 Name= "mysql2server SERVICES

配置主从

1,添加一个mysql主从复制需要的用户账号
在数据库中 新建查询中使用

  GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* 
   TO mysql_backup@'%'
   IDENTIFIED BY '123456';

刷新权限

  flush privileges;

删除从服务器的用户只留下一个用户root
刷新权限

  flush privileges;

2,配置主服务器

  mysql配置文件加入:

  server-id=1(必须要有   为服务器A的id)

  log-bin=mysql-bin(二进制便跟日志)

  binlog_ignore_db=mysql     # mysql这个库不同步

  binlog_do_db=test               # 要同步的数据库(可不填)

重启master,reset master 慎用:会清空所有的日志文件
运行

SHOW MASTER STATUS 加\G 会输出以下格式

输出如下:
这里写图片描述

3,配置从服务器在从服务器的mysql配置中

   port             = 3307           
   log_bin          = mysql-bin

   server_id        = 2(服务器B的id)

   relay_log        = mysql-relay-bin(中继日志)

   read_only        = 1        (设置权限  只有查的权限)

在数据库中 从服务器新建查询

停止从库

  stop slave status

连接主库

  CHANGE MASTER TO master_host = '127.0.0.1',

   master_user = 'mysql_backup',(账号)

   master_password = '123456',(密码)

   master_log_file = 'mysql-bin.000001',   

   master_log_pos = 120 (这两个可以再主库中  执行 show master  status 看到)

启动从库

start salve

查看从库状态

 show slave status

如果io线程 与 sql线程 都是yes 就完成了

猜你喜欢

转载自blog.csdn.net/weixin_41782053/article/details/80447844
今日推荐