mysql-5.7的主从配置

mysql的主从配置

下载最新mysql 的yum源

1、wget https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm

安装最新mysql

rpm -ivh mysql57-community-release-el6-11.noarch.rpm
yum -y install mysql-server  

启动mysql数据库

service mysqld start

提示:由于5.7初始化会自动生成密码  :

cat /var/log/mysqld.log

2018-03-24T13:19:50.925206Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-03-24T13:19:54.106661Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-03-24T13:19:54.588874Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-03-24T13:19:54.805786Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 0abbeb4b-2f66-11e8-81f3-000c292c7cea.
2018-03-24T13:19:54.810834Z 0 [Warning] Gtid table is not ready to be used. Table ‘mysql.gtid_executed‘ cannot be opened.
2018-03-24T13:19:54.841042Z 1 [Note] A temporary password is generated for [email protected]: :kufY//k0zk&  (这是随机生成的密码)

登录mysql数据库并修改密码:

mysql    -uroot  -p
ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘[email protected]‘; 

1.配置master的配置文件my.cnf

#打开日志(主机需要打开)
log-bin=mysql-bin
##服务器id(这个是唯一的)
server-id=1
#给从机同步的库(可以写多个库)
binlog-do-db=mydb
binlog-do-db=mydb2
binlog-do-db=test

#自动清理5天前的log文件
expire_logs_days=5

2.修改从服务器的从数据库slave   /etc/my.cnf配置

#服务器id
server-id=2
##要从主机同步的库
replicate-do-db=mydb
replicate-do-db=mydb2
replicate-do-db=test

3.修改之后,重启MySQL主数据库和MySQL从数据库的服务

service mysqld restart

4.配置主服务器的主数据库

主数据库授权同步账户

mysql> GRANT REPLICATION SLAVE ON *.* TO ‘root‘@‘192.168.10.115‘ IDENTIFIED BY ‘[email protected]‘;
Query OK, 0 rows affected, 1 warning (0.01 sec)

刷新权限

FLUSH PRIVILEGES;

查看主服务状态

mysql> show master status ;
+------------------+----------+-----------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB    | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+-----------------+------------------+-------------------+
| mysql-bin.000001 |      602 | mydb,mydb2,test |                  |                   |
+------------------+----------+-----------------+------------------+-------------------+
1 row in set (0.00 sec)

5.配置从服务器的从数据库

mysql> CHANGE MASTER TO MASTER_HOST=‘192.168.10.116‘,    -> MASTER_USER=‘root‘,    -> MASTER_PASSWORD=‘[email protected]‘,    -> MASTER_LOG_FILE=‘mysql-bin.000001‘,\ (这个都是根据主服务器查询出的结果)
    -> MASTER_LOG_POS=602;(就是主服务器 show master status;)
Query OK, 0 rows affected, 2 warnings (0.13 sec)

开启SLAVE同步

start slave; 

查看下slave状态

show slave status \G;
mysql> show slave status \G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.10.116
                  Master_User: root
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 602
               Relay_Log_File: localhost-relay-bin.000002
                Relay_Log_Pos: 320
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes (这个位置显示yes)
            Slave_SQL_Running: Yes (这个位置也显示yes表示主从复制配置成功)
              Replicate_Do_DB: mydb,mydb2,test
          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: 602
              Relay_Log_Space: 531
              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: 0
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: 1
                  Master_UUID: 0abbeb4b-2f66-11e8-81f3-000c292c7cea
             Master_Info_File: /var/lib/mysql/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
           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)

当Slave_IO_Running和Slave_SQL_Running都为Yes,才说明主从复制成功

6.停止SLAVE同步

stop slave;

7.撤销已经赋予给MySQL同步账户的权限

revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:

GRANT REPLICATION SLAVE ON *.* TO ‘root‘@‘192.168.10.116‘ IDENTIFIED BY ‘XXXXXX‘;

REVOKE REPLICATION SLAVE ON *.* FROM ‘root‘@‘192.168.10.116‘;

8.授权账号可以远程登录

GRANT ALL ON *.* TO  用户名@‘%‘ IDENTIFIED BY ‘密码‘ WITH GRANT OPTION;

原文地址:https://www.cnblogs.com/xu743876685/p/8641772.html

时间: 2024-10-19 08:25:20

mysql-5.7的主从配置的相关文章

mysql 安装及卸载 主从配置

1.查询rpm -qa | grep mysql* 组件 出现类似安装包 mysql-server-5.1.71-1.el6.x86_64 mysql-libs-5.1.71-1.el6.x86_64 mysql-connector-odbc-5.1.5r1144-7.el6.x86_64 mysql-5.1.71-1.el6.x86_64 mysql-devel-5.1.71-1.el6.x86_64 2.卸载系统已安装的mysql,移除lib包 yum remove mysql-libs 3

MySQL编译安装及主从配置

说明:本实验配置以Cenos6.6和MySQL5.6.35为例 一.编译安装MySQL 1.避免在安装过程中出现问题,先安装系统依赖包yum install apr autoconf automake bison cloog-ppl cpp curl curl-devel fontconfig fontconfig-devel freetype freetype freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glib

mysql 5.5数据库主从配置步骤详解

上次给大家介绍了mysql 5.1主从搭建配置教程,这次我们来实现mysql 5.5的主从复制,其实大体上配置是差不多的,只有点细微的差别. 系统:centos 5.x 需要的软件包:mysql-5.5.33.tar.gz 环境准备: 服务器a:192.168.10.151 (主) 服务器b:192.168.10.152 (从) 1.安装前准备wget http://mysql.llarian.net/Downloads/MySQL-5.5/mysql-5.5.33.tar.gzyum -y i

MySql集群FAQ----mysql主从配置与集群区别、集群中需要多少台计算机呢?为什么? 等

抽取一部分显示在这里,如下, What's the difference in using Clustervs using replication? 在复制系统中,一个MySQL主服务器会更新一个或多个从服务器.事务是顺序地提交的,因此一个慢事务就可能导致从服务器比主服务器落后一段时间.这也意 味着,如果主服务器出错失败了,那么从服务器可能会缺少记录最后的那一小部分事务日志.如果使用的是事务安全存储引擎的话,例如InnoDB, 那么事务日志则会完全记录到从服务器上去或者完全不记录,但是复制不能保

Mysql双机热备主从配置

replication on mysql: Master/Slave. Master server is the production MySQL instance. Slave server is the java host (123.57.39.*). First we need to install MySQL server and client on the java host(123.57.39.*). 1.in master execute: CREATE USER 'replica

【转】双机高可用、负载均衡、MySQL(读写分离、主从自动切换)架构设计

架构简介 前几天网友来信说帮忙实现这样一个架构:只有两台机器,需要实现其中一台死机之后另一台能接管这台机器的服务,并且在两台机器正常服务时,两台机器都能用上.于是设计了如下的架构.此架构主要是由keepalived实现双机高可用,维护了一个外网VIP,一个内网VIP.正常情况时,外网VIP和内网VIP都绑定在server1服务器,web请求发送到server1的nginx,nginx对于静态资源请求就直接在本机检索并返回,对于php的动态请求,则负载均衡到server1和server2.对于SQ

双机高可用、负载均衡、MySQL(读写分离、主从自动切换)架构设计

前几天网友来信说帮忙实现这样一个架构:只有两台机器,需要实现其中一台死机之后另一台能接管这台机器的服务,并且在两台机器正常服务时,两台机器都能用上.于是设计了如下的架构. 架构简介 此架构主要是由keepalived实现双机高可用,维护了一个外网VIP,一个内网VIP.正常情况时,外网VIP和内网VIP都绑定在server1服务器,web请求发送到server1的Nginx,nginx对于静态资源请求就直接在本机检索并返回,对于PHP的动态请求,则负载均衡到server1和server2.对于S

Mysql主从配置,实现读写分离

大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果更是 不堪设想.这时候,我们会考虑如何减少数据库的联接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached,如果资金丰厚的话,必然会想到假设服务器群,来分担主数据库的压力.Ok切入今天微博主题,利用MySQL主从配置,实现读写分离,减轻数据库压力.这种

MySQL数据库服务器 主从配置

A B 为两台 MySQL 服务器,均开启二进制日志,数据库版本 MySQL 5.5 一.服务器参数 [A 服务器 192.168.1.100] server-id = 1 binlog-do-db = test binlog-ignore-db = mysql replicate-do-db = test replicate-ignore-db = mysql sync-binlog = 1 [B 服务器 192.168.1.101] server-id = 2 binlog-do-db =

笔记13(FTP配置、tomcat配置、resin配置、MySQL主从配置)

FTP服务搭建与配置 FTP介绍 FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输. FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机. 小公司用的多,大企业不用FTP,因为不安全. 使用vsftpd搭建ftp服务 centos上自带vsftpd 安装:yum instal