Mysql主从复制教程

1.安装mysql(安装步骤跳过)
2.配置密码。(如果忘记密码或者误操作删除了root用户,使用如下命令,没有忘记就跳到3)
将skip-grant-tables放在/etc/my.cnf里的[mysqld]下的第一行,可免密码登录,然后更新或者插入user表数据。
set password=password("root");(设置新密码)
CREATE USER 'replication'@'192.168.3.212' IDENTIFIED BY 'root';
update user set Host='%',select_priv='y', insert_priv='y',update_priv='y', Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y' where user='root';
flush privileges;刷新MySQL的系统权限相关表。

3.主从数据库只是配置而已,不需要额外代码。但是如果配置不好,会花很长时间反复修改。
4.开始正题。
主从更新就是主库增删改查的时候,从库也会进行操作,而且是读取bin日志进行操作。
主库需要添加一个用户(为的是不让从用root账户,用别的用户更安全)供从访问。

5.关闭防火墙(更好的办法是将3306端口放入防火墙计划,/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT )。
6.很多文件需要给相应的权限。

7.启动:/usr/local/mysql/support-files/mysql.server start或者$ service mysql.server start。
8.启动mysql:mysql -u root -p回车 输入密码(root)。

9.设置可远程登录
mysql> use mysql;
mysql> update user set host = '%' where user ='root';
mysql> flush privileges;

10.master配置my.cnf
vi /etc/my.cnf
在[mysqld]下加
log-bin=mysql-bin
server-id=1

///////
11.CREATE USER 'replication'@'192.168.3.128' IDENTIFIED BY 'root';(给从机使用的用户名和密码)
GRANT REPLICATION SLAVE ON *.* TO 'replication'@'192.168.3.128';(给予相应权限)
flush privileges;刷新MySQL的系统权限相关表。
show master status;//显示主库状态

12.配置slave
vi /etc/my.cnf
在[mysqld]下加
log-bin=mysql-bin
server-id=2 //(总之slave之间的id不能一样)
START SLAVE; //开启slave stop slave; //关闭slave
show slave status\G //查看复制状态
其中Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master 0

13.如果需要手动同步,执行下列
change master to master_host='主库ip',master_user='主库给其他从库准备的用户名',master_password='主库给其他库准备的密码',master_log_file='主库status的file',master_log_pos='主库status的position';
CHANGE MASTER TO MASTER_HOST='192.168.3.128', MASTER_USER='replication', MASTER_PASSWORD='root', MASTER_LOG_FILE='mysql-sbin.000001', MASTER_LOG_POS=154;

14.如果报错,不外乎用户名密码不对(去主库修正为正确密码),网络(要一个网段),防火墙(3306加入防火墙计划)等。
还有一种是3102错误,所以要确保主从开始之前,mysql没有任何bin(mysql-bin)日志。
只需要将master的mysql-bin删除即可,命令:reset master。
这个只能在没开始复制之前进行。在复制中的情况下需要用expire_logs_days = 7设置七天删除。

记录一次工作中配置的Mysql主从复制过程的更多相关文章

  1. centos7中配置java + mysql +jdk +使用jar部署项目

    centos7中配置java + mysql +jdk  +使用jar部署项目 思维导图 1. 配置JDK環境 1.1下载jdk安装包 Java Downloads | Oracle 1.2 将下载j ...

  2. 记录我开发工作中遇到HTTP跨域和OPTION请求的一个坑

    我通过这篇文章把今天工作中遇到的HTTP跨域和OPTION请求的一个坑记录下来. 场景是我需要在部署在域名a的Web应用里用JavaScript去消费一个部署在域名b的服务器上的服务.域名b上的服务也 ...

  3. windows中配置安装mysql数据库

    MySql 是一种免费的关系型数据库,相较于 MsSqlServer 和 Oracle 比较轻量化,安装也很简单,而且免费不需要的版权费用,个人认为一般的小项目采用还是比较合适的,当然也有部分数据量很 ...

  4. 日常工作中常见的mysql优化技巧

    1.介绍一下MYSQL经常使用的优化技巧. MySQL 自带 slow log 的分析工具 mysqldumpslow ,可是没有说明.本文通过分析该脚本,介绍了其用法. slow log 是 MyS ...

  5. 工作中常用的mysql操作

    一.在一个数据库中定义的存储过程或者是函数在另一数据库的存储过程中引用 1.我首先在数据库player_db中构建了一个函数:p_exp_to_level BEGIN ; ; RETURN v_lev ...

  6. 记录一次工作中jvm被linux杀死的调查

    首先,以后碰到任何jvm的错误,先看日志!!!!!!!! web项目在tomcat目录下的log里,或者自己设定的errorfile目录下.总之,找到一切可以运用的日志,比如crash日志,cored ...

  7. python小白记录二 ——自动化测试selenium中配置浏览器

    1.根据不同的浏览器 下载不同的驱动,下面是谷歌的驱动 下载地址:ChromeDriver - WebDriver for Chrome - Downloads (chromium.org)     ...

  8. centos7 装机配置及 mysql 安装过程

    打开网卡,使操作系统可以上网 1 ip add 查看网卡,lo是回环网卡可以忽略,ens33为实际网卡. [root@localhost ~]# ip add 1: lo: <LOOPBACK, ...

  9. MySQL主从复制原理及配置过程

    一.Mysql数据库的主从复制原理过程: (多实例的安装请参考我的另一篇文章:https://www.cnblogs.com/Template/p/9258500.html) Mysql的主从复制是一 ...

随机推荐

  1. BZOJ 3669: [Noi2014]魔法森林(lct+最小生成树)

    传送门 解题思路 \(lct\)维护最小生成树.我们首先按照\(a\)排序,然后每次加入一条边,在图中维护一棵最小生成树.用并查集判断一下\(1\)与\(n\)是否联通,如果联通的话就尝试更新答案. ...

  2. pytorch处理模型过拟合

    演示代码如下 import torch from torch.autograd import Variable import torch.nn.functional as F import matpl ...

  3. NX二次开发-UFUN编辑添加哪些图层UF_LAYER_edit_category_layer

    1 NX11+VS2013 2 3 #include <uf.h> 4 #include <uf_layer.h> 5 6 7 UF_initialize(); 8 9 //创 ...

  4. mysql最新版与mysql5.6的兼容问题

    最近公司在给别的企业打了一个项目,在公司本地使用的是mysql 5.6,但是搭建的项目的mysql版本是最新版5.7以后吧,所以有些sql在执行上出了一点问题 目前发现的是: 1: 在5.6版本下先o ...

  5. IDea 工具debug模式详细使用说明

    IDea 工具debug模式详细使用说明 IDEA中如何使用debug调试项目 一步一步详细教程 Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生 ...

  6. 天道神诀---DHCP服务(上篇)

    DHCP DHCP(Dynamic Host Configuration Protocol, 动态主机配置协议),被应用在局域网环境中,主要作用是集中的管理.分配IP地址,使网路环境中的主机动态的获得 ...

  7. 【校OJ】选网线

    暑假学校OJ上的题目. 一道很有意思的二分. 题意:三个数组,每个数组各选一个数出来看是否能组成目标数. 题解:前两个数组两两的和组合一下,二分第三个数组,找是否能组成目标数. 代码: #includ ...

  8. log4j.rootLogger

    log4j.rootLogger=INFO, FILE, CONSOLE log4j.rootLogger=TRACE, FILE, CONSOLE

  9. 从别人git下载项目下来然后运行

    1点击clone or  download 2.自由选择 3.拉到你想放的位置,我是放到桌面上的 4. cmd 打开,进入你 的下载到桌面的项目 5. # install dependencies n ...

  10. The Counting Problem

    The Counting Problem 询问区间\([a,b]\)中\(1\sim 9\)出现的次数,0 < a, b < 100000000. 解 显然为数位递推,考虑试填法,现在关键 ...