广告
返回顶部
首页 > 资讯 > 数据库 >MySQL5.7.16 gtid复制
  • 751
分享到

MySQL5.7.16 gtid复制

2024-04-02 19:04:59 751人浏览 独家记忆
摘要

《基础环境准备:》首先安装两台Mysql5.7.16数据库,安装如下步骤即可:一、系统环境准备:①:系统yum源配置:[linux]name=linux haebaseurl=file:///media/g

《基础环境准备:》

首先安装两台Mysql5.7.16数据库,安装如下步骤即可:


一、系统环境准备:

①:系统yum源配置:

[linux]

name=linux hae

baseurl=file:///media/

gpGCheck=1

gpgkey=file:///media/RPM-GPG-KEY-redhat-release


②:挂载Linux7.1系统盘安装必要的软件

yum -y install gcc* gcc-c++ ncurses ncurses-devel cmake bison libgcrypt perl


③:卸载系统自带的MySQL软件:


[root@localhost ~]# rpm -qa | grep maria*

[root@localhost ~]# rpm -qa | grep mysql

[root@localhost ~]# rpm -e --nodeps mariadb-server

[root@localhost ~]# rpm -e --nodeps mariadb


④:修改系统参数

[root@localhost ~]# vim /etc/security/limits.conf

*    soft    nproc     65535

*    hard    nproc     65535

*    soft    nofile    65535

*    hard    nofile    65535


[root@localhost ~]# vi /etc/profile

ulimit -u 65535

ulimit -n 65535


[root@localhost ~]# vim /etc/pam.d/login 

session    required     pam_limits.so


[root@localhost ~]# source /etc/profile


⑤:创建安装MySQL的必要目录

[root@localhost ~]# useradd mysql

[root@localhost ~]# passwd mysql

[root@localhost ~]# mkdir -p /mysql/mysql

[root@localhost ~]# mkdir -p /mysql/data

[root@localhost ~]# chown -R mysql.mysql /mysql

[root@localhost ~]# chmod -R 755 /mysql


二、开始安装MySQL5.7.16

①:解压MySQL软件

[mysql@localhost mysql]$ tar -zxvf boost_1_59_0.tar.gz 

[mysql@localhost mysql]$ tar -zxvf mysql-5.7.16.tar.gz 


②:编译MySQL5.7.16

[mysql@localhost mysql-5.7.16]$ cmake . -DCMAKE_INSTALL_PREFIX=/mysql/mysql \

 -DMYSQL_DATADIR=/mysql/data \

 -DDOWNLOAD_BOOST=1 \

 -DWITH_BOOST=/mysql/boost_1_59_0 


[mysql@localhost mysql-5.7.16]$ make -j 4

[mysql@localhost mysql-5.7.16]$ make install


③:初始化数据

/mysql/mysql/bin/mysqld --initialize --user=mysql --basedir=/mysql/mysql/ --datadir=/mysql/data/

(初始化数据库后,会生成root用户的默认密码,要记住)


④:编辑my.cnf配置文件,启动数据库

[mysql@localhost data]$ vim my.cnf 

[client]

port = 3306

Socket = /mysql/mysql/mysql.sock

default-character-set = utf8mb4

 

[mysqld]

port = 3306

socket = /mysql/mysql/mysql.sock

 

basedir = /mysql/mysql

datadir = /mysql/data

pid-file =/mysql/data/mysql.pid

user = mysql

bind-address = 0.0.0.0

server-id = 1       ------从库的编号可以设置 2   不能和主库一致;

 

init-connect = 'SET NAMES utf8mb4'

character-set-server = utf8mb4

 

back_log = 300

 

max_connections = 1000

max_connect_errors = 6000

open_files_limit = 65535

table_open_cache = 128

max_allowed_packet = 4M

binlog_cache_size = 1M

max_heap_table_size = 8M

tmp_table_size = 16M

 

read_buffer_size = 2M

read_rnd_buffer_size = 8M

sort_buffer_size = 8M

join_buffer_size = 8M

key_buffer_size = 4M

 

thread_cache_size = 8

 

query_cache_type = 1

query_cache_size = 8M

query_cache_limit = 2M

 

ft_min_Word_len = 4

 

log_bin = mysql-bin

expire_logs_days = 30

 

log_error = /mysql/data/mysql-error.log

slow_query_log = 1

long_query_time = 1

slow_query_log_file = /mysql/data/mysql-slow.log

 

perfORMance_schema = 0

explicit_defaults_for_timestamp

 

skip-external-locking

 

default_storage_engine = InnoDB

innodb_file_per_table = 1

innodb_open_files = 500

innodb_buffer_pool_size = 64M

innodb_write_io_threads = 4

innodb_read_io_threads = 4

innodb_thread_concurrency = 0

innodb_purge_threads = 1

innodb_flush_log_at_trx_commit = 2

innodb_log_buffer_size = 2M

innodb_log_file_size = 32M

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 90

innodb_lock_wait_timeout = 120

 

bulk_insert_buffer_size = 8M

 

interactive_timeout = 28800

wait_timeout = 28800

 

[mysqldump]

quick

max_allowed_packet = 16M

 

[myisamchk]

key_buffer_size = 8M

sort_buffer_size = 8M

read_buffer = 4M

write_buffer = 4M


启动MySQL数据库:

/mysql/mysql/bin/mysqld_safe --defaults-file=/mysql/data/my.cnf   &


⑤:启动数据库修改默认密码

[mysql@localhost ~]$ mysql -u root -p   (使用刚才的密码)


注意:如果提示密码过期不让登陆,可以在my.cnf配置文件加入:

[mysqld]

skip-grant-tables

然后重启MySQL,不用输入密码就可以登录数据库了!

最后修改默认密码:

mysql> update mysql.user set authentication_string=password('123456') where user='root' ; 

mysql> update mysql.user set password_expired='N';

mysql> flush privileges;

mysql> alter user 'root'@'localhost' identified by '123456';

mysql> flush privileges;


⑥:创建同步用用户(在主库)

mysql> grant replication slave,replication client on *.* to repl@'192.168.2.200' identified by 'feige';


###########################################################################

                      gtid 复制操作

一、主库操作

1、编辑主库的my.cnf配置文件,添加如下:

gtid-mode = on

enforce-gtid-consistency = 1 

binlog_format = row 

skip_slave_start=1


2、重新启动MySQL主库;

3、在主库创建测试用schema和表

mysql> create database zhang;

mysql> use zhang

mysql> show tables;

mysql> create table emp (id int);

mysql> insert into emp values (1);


mysql> show master status;

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

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set                        |

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

| mysql-bin.000008 |      738 |              |                  | ac3842d2-ba9a-11e6-9e1b-000c298cd705:1-3 |

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

注意:我们在主库开启了gtid复制,而且创建了测试用schema和表 并且查看状态可以得知目前的gtid号:1-3


二、从库操作:

1、编辑从库的my.cnf配置文件,添加如下:

gtid-mode = on

enforce-gtid-consistency = 1 

binlog_format = row 

skip_slave_start=1


2、重新启动MySQL主库;

3、配置主从同步:

mysql> CHANGE MASTER TO  MASTER_HOST='192.168.2.100', MASTER_USER='repl',  MASTER_PASSWORD='feige',   MASTER_PORT=3306,   MASTER_AUTO_POSITION = 1;


4、开启从库主从同步:

mysql> start slave;


5、开始验证主从同步状态:

注意:开启主从后,主库刚才创建的测试库和表都会复制过来,因为在主库开启gtid的时候 主库的每一步操作都会有个gtid号,等着从库开启同步后,会把所有记录的操作都会同步到从库;


注意:gtid复制 有很多限制:


您可能感兴趣的文档:

--结束END--

本文标题: MySQL5.7.16 gtid复制

本文链接: https://www.lsjlt.com/news/35223.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL5.7.16 gtid复制
    《基础环境准备:》首先安装两台MySQL5.7.16数据库,安装如下步骤即可:一、系统环境准备:①:系统yum源配置:[linux]name=linux haebaseurl=file:///media/g...
    99+
    2022-10-18
  • 说GTID - GTID-based复制中的限制
    同一个事务(语句)中,不能同时涉及事务和非事务数据表的变更,这会导致一个事务对应多个GTID,违反了事务与GTID的一对一对应原则。[root@mysql.sock][db1]> show creat...
    99+
    2022-10-18
  • Mysql 主从复制GTID
    --------------------------------------------安装准备配置/etc/my.cnf主master grant 分配复制帐号从slave ...
    99+
    2022-10-18
  • myql 5.7.21 GTID 组复制
    hostname IP 角色 node13 1.1.1.13 master1 node14 1.1.1.14 master2 node15 1.1.1.15 master3 [m...
    99+
    2022-10-18
  • MySQL5.7主从复制-GTID复制搭建
     两台服务器,系统是Redhat6.5,MySQL版本是5.7.18。 1、在主库上,创建复制使用的用户,并授予replication slave权限。这里创建用户repl,可以从IP为1...
    99+
    2022-10-18
  • MariaDB基于GTID的复制
    1、配置主从节点的服务配置文件1.1、配置master节点:#binlog_format=mixedbinlog-format=ROW# required unique id between 1 and 2...
    99+
    2022-10-18
  • MySQL复制之GTID复制的具体使用
    目录GTID是什么GTID改进有哪些GTID的工作原理一主一从GTID复制的搭建master的配置slave的配置遇到的问题从MySQL 5.6.5开始新增了一种基于GTID的复制方...
    99+
    2022-11-13
  • 5:使用GTID进行复制
    服务器 192.168.1.1(master) 192.168.1.2(slave) 同步服务器,只有当已经在复制但不使用gtid的服务器时才需要此步骤,,对于新服务器,请继续执行步骤5。将每个服务器上...
    99+
    2022-10-18
  • MySQL5.7中GTID复制的改进
    1、支持创建临时表 MySQL5.7版本可以支持create temporary table、drop temporary table命令。 2、开启GTID复制模式,不用开启log_slave_upda...
    99+
    2022-10-18
  • MySQL GTID复制中断修复过程
    slave中出现错误: 2020-04-09T07:40:18.719203Z 16 [ERROR] Slave SQL for channel '': Could not execute ...
    99+
    2022-10-18
  • GTID的复制的搭建过程
    1.什么是GTIDGTID(Global Transaction ID)是对于一个已提交事务的编号,并且是一个全局唯一的编号;GTID实际上是由UUID+TID组成的。其中UUID是一个MySQL实例的唯一...
    99+
    2022-10-18
  • MySQL的GTID复制怎么应用
    这篇文章主要介绍“MySQL的GTID复制怎么应用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL的GTID复制怎么应用”文章能帮助大家解决问题。从MySQ...
    99+
    2022-10-19
  • 怎么理解MySQL的GTID复制
    这篇文章主要介绍“怎么理解MySQL的GTID复制”,在日常操作中,相信很多人在怎么理解MySQL的GTID复制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解MySQ...
    99+
    2022-10-19
  • MySQL之GTID复制怎么使用
    本篇内容主要讲解“MySQL之GTID复制怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL之GTID复制怎么使用”吧!从MySQL 5.6.5开始新增了一种基于GTID的复制方式...
    99+
    2023-06-30
  • Mysql 主从复制之半同步复制(基于gtid)
    Mysql主从复制mysql主从复制原理:从库有两个线程IO线程和SQL线程1.从库的IO线程向主库的主进程发送请求,主库验证从库,交给主库IO线程负责数据传输;2.主库IO线程对比从库发送过来的maste...
    99+
    2022-10-18
  • 如何进行MySQL主从GTID复制修复
    如何进行MySQL主从GTID复制修复,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。GTID是5.6新增特性,减少DBA运维的工作。在以前一主...
    99+
    2022-10-19
  • MySQL5.7的AB复制以及 GTID多线程复制 配置
    mysql AB复制: 三台主机:MASTER IP:172.25.35.21          ...
    99+
    2022-10-18
  • mysql5.6基于GTID主从复制设置
    1.主库和从库都必须要开启binlog2.主库和从库server-id不相同3.建立主从辅助用户grant replication slave on . to 'rep'@'192.168.200.%' i...
    99+
    2022-10-18
  • 浅析mysql主从复制中的gtid
    gtid(Global Transaction ID)是对于一个已提交事务的编号,并且是一个全局唯一的编号。它的官方定义如下:gtid= source_id :transaction_id 每一个 gtid...
    99+
    2022-10-18
  • MySQL5.7.21开启Gtid配置主从复制
    mysql5.7.21开启Gtid配置主从复制 一、环境: mysql 主库master:10.0.0.101 172.168.1.101mysql 从库slave:10.0.0.103 172.168....
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作