CentOS Mysql 安装

Mysql (Master/Slave) 主从同步

1、为什么要使用主从同步

1.如果主服务器出现问题,可以快速切换到从服务器提供的服务

2.可以在从服务器上执行查询操作,降低主服务器的访问压力

3.可以在从服务器上执行备份,以避免备份期间影响主服务器的服务

注意:一般只有更新不频繁的数据或者对实时性要求不高的数据可以通过从服务器查询,实时性要求高的数据仍然需要从主服务器获得。

2、 CentOS安装Mysql 5.7.19

3、测试环境

我这里使用parallels desktop 虚拟机安装的Centos操作系统

数据库版本: 5.7.19

主机A:10.211.55.3(Master)

主机B:10.211.55.4(Slave)

service mysqld stop #停止数据库

service mysqld start #启动数据库

service mysqld restart #重启数据库

4、配置主服务器Master

4.1 给从服务器设置授权用户(创建复制帐号)

建立一个帐户javen,并且只能允许从 10.211.55.4 这个地址上来登陆,密码是123456。

mysql>grant replication slave on *.* to 'javen'@'10.211.55.4' identified by '123456';

mysql>flush privileges;

4.2 主服务器Master配置

在 etc/my.cnf的[mysqld]下添加如下内容

port=3306

#[必须]启用二进制日志

binlog-ignore-db=mysql

#[必须]服务器唯一ID,默认是1

server-id= 1

#只保留7天的二进制日志,以防磁盘被日志占满

expire-logs-days = 7

#不备份的数据库

binlog-ignore-db=information_schema

binlog-ignore-db=performation_schema

binlog-ignore-db=sys

binlog-ignore-db=gogs

4.3 重启MySQL服务并设置读取锁定

service mysqld restart

在主服务器上设置读取锁定有效,确保没有数据库操作,以便获得一个一致性的快照

mysql -u root -proot -P3306

mysql>flush tables with read lock;

4.4 查看主服务器上当前的二进制日志名和偏移量值

mysql> show master status;

+------------------+----------+--------------+-------------------------------------------------------+-------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+-------------------------------------------------------+-------------------+

| mysql-bin.000001 | 154 | | mysql,information_schema,performation_schema,sys,gogs | |

+------------------+----------+--------------+-------------------------------------------------------+-------------------+

1 row in set (0.00 sec)

这里的 File 、Position 是在配置Salve的时候要使用到的,Binlog_Do_DB表示要同步的数据库,Binlog_Ignore_DB 表示Ignore的数据库,这些都是在配置的时候进行指定的。

另外:如果执行这个步骤始终为Empty set(0.00 sec),那说明前面的my.cnf 没配置对。

5、配置从服务器Slave

5.1 修改从数据库的配置

修改之后完整的配置如下:

#For advice on how to change settings please see

#http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]

##Remove leading # and set to the amount of RAM for the most important data

#cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

#innodb_buffer_pool_size = 128M

##Remove leading # to turn on a very important data integrity option: logging

#changes to the binary log between backups.

#log_bin

##Remove leading # to set options mainly useful for reporting servers.

#The server defaults are faster for transactions and fast SELECTs.

#Adjust sizes as needed, experiment to find the optimal values.

#join_buffer_size = 128M

#sort_buffer_size = 2M

#read_rnd_buffer_size = 2M

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

##以下是添加的内容

log-bin=mysql-bin

server-id=3

binlog-ignore-db = mysql

binlog-ignore-db = information_schema

binlog-ignore-db = performation_schema

binlog-ignore-db = sys

log-slave-updates

slave-skip-errors=all

slave-net-timeout=60

#Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

5.2 重启从数据库并设置Slave数据库

service mysqld restart

登录从数据库并做如下设置

mysql>stop slave; #关闭Slave

mysql>change master to master_host='10.211.55.3',master_user='javen',master_password='123456',master_log_file='mysql-bin.000001', master_log_pos= 154;

mysql>start slave; #开启Slave

注意:在这里指定Master的信息,master_log_file是在配置Master的时候的File选项, master_log_pos是在配置Master的Position 选项,这里要进行对应。

### 5.3 查看Slave配置的信息

mysql> show slave status \G;

*************************** 1. row ***************************

Slave_IO_State:

Master_Host: 10.211.55.3

Master_User: javen

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000001

Read_Master_Log_Pos: 154

Relay_Log_File: centos-linux-2-relay-bin.000001

Relay_Log_Pos: 4

Relay_Master_Log_File: mysql-bin.000001

Slave_IO_Running: No

Slave_SQL_Running: No

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 154

Relay_Log_Space: 154

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: NULL

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 0

Master_UUID:

Master_Info_File: /var/lib/mysql/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State:

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position: 0

Replicate_Rewrite_DB:

Channel_Name:

Master_TLS_Version:

1 row in set (0.00 sec)

ERROR:

No query specified

mysql> unlock tables;

Query OK, 0 rows affected (0.00 sec)

mysql> start slave;

Query OK, 0 rows affected (0.00 sec)

mysql>

6、关闭掉主数据库的读取锁定

mysql>unlock tables;

7、在主数据库中创建一个表以及添加数据测试

centos mysql 主从安装_基于 CentOS Mysql 安装与主从同步配置详解相关推荐

  1. 基于 CentOS Mysql 安装与主从同步配置详解

    CentOS Mysql 安装 Mysql (Master/Slave) 主从同步 1.为什么要使用主从同步 1.如果主服务器出现问题,可以快速切换到从服务器提供的服务 2.可以在从服务器上执行查询操 ...

  2. java里的进制转换函数_基于Java中进制的转换函数详解

    十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...

  3. python远程linux服务器执行命令_基于使用paramiko执行远程linux主机命令(详解)

    paramiko是python的SSH库,可用来连接远程linux主机,然后执行linux命令或者通过SFTP传输文件. 关于使用paramiko执行远程主机命令可以找到很多参考资料了,本文在此基础上 ...

  4. python pptx库中文文档_基于python-pptx库中文文档及使用详解

    个人使用样例及部分翻译自官方文档,并详细介绍chart的使用 一:基础应用 1.创建pptx文档类并插入一页幻灯片 from pptx import Presentation prs = Presen ...

  5. python pptx教学_基于python-pptx库中文文档及使用详解

    个人使用样例及部分翻译自官方文档,并详细介绍chart的使用 一:基础应用 1.创建pptx文档类并插入一页幻灯片 from pptx import Presentation prs = Presen ...

  6. sphinx mysql存储引擎_基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计...

    Sphinx,单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速度为0.x秒(毫秒级).Sphinx创建索引的速度为:创建100万条记录的索引只需3-4分钟,创建1000万条记录的索引可以在5 ...

  7. mysql新闻发布_基于PHP+mysql实现新闻发布系统的开发

    新闻发布系统 1. 系统简介 一个简单的新闻系统,包含了四个功能,增删改查,利用PHP语言,结合了MySQL数据库,开发工具用的是Dreamweaver. 2.数据库设计 -- 数据库: `newsd ...

  8. MySql主主(主从)同步配置详解

    一.MySQL复制概述 MySQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.MySQL复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新.删除等 ...

  9. postgresql主从备份_基于windows平台的postgresql主从数据库流备份配置

    基于windows平台的postgresql主从数据库流备份配置 因工作需要,需要搞pg数据库的主从备份,领导给了个方向使用流备份,于是开始朝着这个方向进发. 鸣谢大佬A_ccelerator的博客 ...

  10. 绿建科技加密图纸查看器安装_施工图看不懂?1.1G工程施工图纸详解,253页图文合集一查就清楚...

    施工图看不懂?1.1G工程施工图纸详解,253页图文合集一查就清楚 只要是对建筑行业,有所了解的朋友都清楚,钢筋施工图纸对于建筑物,有着举足轻重的地位!一点都不得马虎大意,接触建筑行业,第一步还是需 ...

最新文章

  1. 如何让网站打开更快第三弹--开启压缩篇
  2. python正则表达式操作指南_Python正则表达式操作指南
  3. 浅析网站SEO中图片优化是如何进行的?
  4. Java中几种常见的循环
  5. 论文浅尝 - ACL2020 | 一种用于关系三元组提取的级联二进制标记框架
  6. maven安装与创建多模块项目【转】
  7. Ubuntu 16.04 安装 VMware-Workstation-12
  8. 360浏览器保存密码设置_电脑小技巧查看浏览器保存的系统账号密码
  9. XVIII Open Cup named after E.V. Pankratiev. Grand Prix of SPb
  10. 微软发布 OpenJDK 预览版!
  11. jquery常见插件用法表
  12. 瑞信:区块链技术还在半山腰 2025年才能真正成熟
  13. PickerView 使用
  14. 微信小程序点餐系统的设计与实现
  15. Linux下重启tomcat
  16. Unity下载安装和Android打包成APK
  17. 智慧林草信息化解决方案(森林防火应急指挥系统)
  18. h3c 出口路由器mac地址过滤
  19. JUnit with Ant
  20. css 文字不规则排版,DIV CSS解决不规则文字排版

热门文章

  1. AudioSession property 详解及使用方法,包括检测是否有声音正在运行,音量更改等。...
  2. Apache for windows虚拟主机配置方案(安全优化)
  3. H3C CLI基础笔记(交换机,链路聚合-DHCP)
  4. poj 3026 Borg Maze (bfs + 最小生成树)
  5. Exchange 2013学习(九),Autodiscover
  6. StarUml:Exception EOleSysError in module StarUML.ex
  7. ORACLE RESOURCE MANAGER(资源管理器)
  8. 无法卸载K/3处理方法
  9. java自学经历分享
  10. 云计算,SDN,虚拟化三者关系