mysql主从同步配置详解

mysql的主从配置参考了不少文章,有的讲的很模糊,有的讲的是老版本,与当下流行的版本有很大出入,配置的过程中各种报错,在把一个一个的坑填完后,这里总结一份比较详细的正确配置步骤。

环境:

操作系统为64位windows10,mysql版本为5.7

主(master):192.168.94.23 端口:3308

从(slave):192.168.94.23 端口:3309

将事先下载好的5.7版本的mysql,复制两份,分别重命名mysql2(主库)和mysql3(从库),

官网下载地址:https://dev.mysql.com/downloads/

一、 安装主库

1、 在mysql1根目录下找到my.ini,如果根目录下没有这个文件,就新建一个,注意文件编码格式为ANSI,内容如下:

[mysqld]

#skip-grant-tables

#设置字符集为utf8

loose-default-character-set=utf8

basedir=E:\mysql2

datadir=E:\mysql2\data

port=3308

#设置数据库编码

character-set-server=utf8

#设置最大连接数

max_connections=2000

max_allowed_packet=10m

[client]

#设置客户端字符集

loose-default-character-set=utf8

2、 在mysql2的bin目录下,先初始化,然后安装mysql2服务,安装成功会有成功的提示,默认用户为root,密码为空,然后在上面my.ini文件里的第一行的#注释去掉,然后停止服务再重启,登陆,切换到mysql,修改默认密码,最后再重启一下mysql2服务,授予用户root,远程登陆权限,如果授权失败,需要重置用户,就重置一下用户,最后查询一下用户,如下图,到这里主库的安装准备工作完成了。

安装过程中用到的命令:

初始化

mysqld –initialize

安装mysql

mysqld install mysql2

登陆

mysql –u root –p –P 3308 –h 127.0.0.1

切换数据库

use mysql

修改默认密码

update user set authentication_string=PASSWORD(‘root’) where User=‘root’;

重置用户

alter user user() identified by “root”;

授予用户远程登陆权限

grant all privileges on . to ‘root’@’%’ identified by “root” WITH GRANT OPTION;

查询用户

select user,host from mysql.user;

二、 安装从库

从库的安装准备工作同主库

三、 主从配置

1、主库配置:完成第一步、第二步的主库和从库的准备工作后,先登陆主库,创建名称为abcd的数据库,在主库的my.ini文件中的[client]上一行加入,如下配置

server-id=1

log-bin=mysql-bin

binlog-do-db=abcd

,然后重启主库mysql2服务,接着再为从库创建一个用于从主库同步数据的用户zmgx,并授予从库读取权限,刷新权限,查看主库的状态,并记下File和Position的值,配置从库的时候会用到。如图:

3、 从库配置:

先登陆从库,创建名称为abcd的数据库,与主库一模一样,在从库的my.ini文件中的[client]上一行加入如下配置:

server-id=2

,然后重启从库mysql3服务,然后在从库中关闭同步服务,重新设置同步服务,

在主库中记下的file和Position的值就是在这个时候要用到的,然后重新启动同步服务,刷新权限,并查看从库状态,如图,表示主从同步设置成功

配置过程中用到的命令:

登陆主库

mysql -u root -p -P 3308 -h 192.168.94.23

创建名称为abcd的数据库

create database abcd default charset utf8 collate utf8_general_ci;

切换数据库

use abcd;

创建用户

create user ‘zmgx’@‘192.168.94.23’ identified by ‘zmgx’;

授予从库权限

grant replication slave on . to ‘zmgx’@‘192.168.94.23’ identified by ‘zmgx’;

刷新权限

flush privileges;

查询主库状态:

show master status\G;

关闭同步

stop slave;

设置主从同步

change master to master_host=‘192.168.94.23’,master_port=3308,master_user=‘zmgx’,master_password=‘zmgx’,master_log_file=‘mysql-bin.000001’, master_log_pos=154;

开启同步

start slave;

刷新权限

flush privileges;

查看从库状态

show slave status\G;

四、 验证

登陆主库,创建一个student表,

并插入一条数据,

切换到abcd库,

查询一下,主库已经有了插入的数据

登陆从库,切换到abcd库,然后查询student表,发现插入主库的数据已经同步到从库,验证说明上述配置成功、有效。

用到的命令:

创建student表

create table student(name varchar(10));

插入一条数据

Insert into student(name) values(‘java’);

切换数据库

Use abcd;

查询student

Select * from student;

原文地址:https://www.cnblogs.com/sqlservertongbu/p/11013581.html

时间: 2024-10-07 06:56:14

mysql主从同步配置详解的相关文章

MySQL 主从架构配置详解

无论是哪一种数据库,数据的安全都是至关重要的,因此熟练掌握数据库的安全备份功能,是作为开发人员,特别是后端开发人员的一项必备技能.MySQL 数据库内建的复制功能,可以帮助我们对数据进行异地备份,读写分离,在较大程度上避免数据丢失.数据库服务器压力过大甚至宕机带来的损失. 使用MySQL 主从架构一年多了,想起当年学习这些东西的时候,苦于完整的中文资料比较少,当时英文又不太好,遇到不少问题.刚好最近也有一段时间没更新博客了,心血来潮,决定翻译一下 MySQL 官网的英文文档,官网文档讲解的非常详

企业生产MySQL主从同步配置

MySQL主从同步配置 前言:测试环境 一台mysql多个实例 主机IP地址 10.0.0.52 Master   3306 Salve    3307 一.主库要开启binlog服务 1. 1修改配置文件3306/my.cnf [[email protected] ~]# egrep "log-bin|server-id" /data/3306/my.cnf   log-bin = /data/3306/mysql-bin server-id = 1 1. 2查看主库有没有开启bin

mysql 主从同步实验细解

mysql  主从同步实验细解 一.实验环境 实验环境 192.168.9.108 为master 192.168.9.109 为slave 数据库版本:version              5.1.73 安装方式:采用的yum 安装 源为163的源 系统版本:centos 6.5 1.查看系统版本 [[email protected] ~]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m 二.实验准备 1.安装my

centos下MySQL主从同步配置

centos下MySQL主从同步配置一.环境 主机: master操作系统:centos 5.3 IP:192.168.1.222 MySQL版本:5.0.77 从机: slave操作系统:centos 5.3 IP:192.168.1.220 MySQL版本:5.0.77 二.创建数据库 分别登录master机和slave机的mysql:mysql –u root –p 创建数据库:create database repl; 三.master机和slave机的相关配置 1.修改master机器

CentOS之MYSQL主从同步配置

一.主机master与salver均关闭防火墙iptables,执行service iptables stop命令: 设置SELINUX文件的SELINUX=disabled,如图所示: 二.创建数据库 分别登录master机和slave机的mysql:mysql –u root –p 创建数据库:create database repl; 在/usr/local/mysql目录下建立MYSQL复制的日志配置文件/usr/local/mysql/mysql-bin.log并赋予权限以及改变文件的

MySQL主从同步配置实现数据库备份

作为数据库的主要备份手段,主从同步能实现从主库(即当前使用的业务数据库)异步同步数据到从库(备份库),当主库数据库或主机出现当机不能启动时,可以通过切换到从库实现业务系统的快速恢复. 首先介绍一下我的环境,我有一个已经使用中的MySQL数据库A,然后我新装了一台MySQL数据库B作为A的从库. 一.master库A设置 先修改mysql的配置 vim /etc/my.cnf 插入下面2行 server-id=1   #这个ID是唯一的,不能和其他的主库或者从库一样 log-bin=mysql-b

Linux下MySQL主从同步配置

Centos6.5 MySQL主从同步 MySQL版本5.6.25 主服务器:centos6.5 IP:192.168.1.101 从服务器:centos6.5 IP:192.168.1.102 一.主服务器相关配置 1.创建同步账户并指定服务器地址 [[email protected] ~]mysql -uroot -p mysql>use mysql mysql>grant replication slave on *.* to 'testuser'@'192.168.1.102' ide

Mysql主从同步配置方案(Centos7)

最近在做项目高可用时,需要使用数据同步.由于只有双节点,且采用主主同步可能存在循环同步的风险,故综合考虑采用Mysql主从同步(Master-Slave同步). 可能没有接触过Mysql数据同步时,可能会觉得数据同步很难,但你按照如下操作一遍之后,会发现原来同步如此简单,毕竟我们只需要会配置,会排查问题,底层具体实现Mysql团队早帮忙实现了.废话不多说,直入话题: (1)首先,保证有两台设备(主.从),分别在两台设备上安装Mysql数据库.安装完成之后, 使用mysql -u[数据库用户名]

Mysql 主从同步配置

工作用MySQL数据库配置了主从同步,但是不知道为啥同步失效了.工作环境不能随便操作,我就在本地上搭建了主从同步的环境. 备份用的工具是Xtrabackup,安装及使用教程见<innobackupex实现MySQL数据库的备份与恢复>. 1.数据库环境 主库(Master):192.168.126.150 从库(Slave):192.168.126.151 数据库版本:5.5.32 2.修改my.cnf文件 1)修改主服务器master: #vi /etc/my.cnf [mysqld] lo