mysql 开启gtid

下载mysql二进制包

useradd mysql -s /sbin/nologin -M
cd /opt/
tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
mkdir /application
mkdir -p /data/mysql/data
mv mysql-5.7.28-linux-glibc2.12-x86_64 /application/mysql
mkdir /data/mysql/data -p
chown -R mysql.mysql /application/*
chown -R mysql.mysql /data/mysql

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

配置文件

cat >/etc/my.cnf<<EOF
[mysqld]
port = 3306
socket = /tmp/mysql.sock
basedir=/application/mysql
datadir=/data/mysql/data
pid-file = /data/mysql/data/mysql.pid
server-id = 81
log_bin = mysql-bin
binlog_format = ROW
enforce-gtid-consistency=true
gtid-mode=on
master_info_repository=TABLE
relay_log_info_repository=TABLE
sync-master-info=1
slave-parallel-workers=2
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
[mysql]
socket=/tmp/mysql.sock
EOF



配置说明
binlog_format = ROW       //建议row
log-slave-updates=true      //在从服务器进入主服务器传入过来的修改日志所使用,在Mysql5.7之前主从架构上使用gtid模式的话,必须使用此选项,在Mysql5.7取消了,会增加系统负载。 
enforce-gtid-consistency=true   // 强制gtid一直性,用于保证启动gitd后事务的安全; 
gtid-mode=on //开启gtid模式 
master_info_repository=TABLE 
relay_log_info_repository=TABLE //指定中继日志的存储方式,默认是文件,这样配置是使用了 两个表,是INNODB存储引擎,好处是当出现数据库崩溃时,利用INNODE事务引擎的特点,对这两个表进行恢复,以保证从服务器可以从正确位置恢复数据。
sync-master-info=1           //同步master_info,任何事物提交以后都必须要把事务提交以后的二进制日志事件的位置对应的文件名称,记录到master_info中,下次启动自动读取,保证数据无丢失
slave-parallel-workers=2       //设定从服务器的启动线程数,0表示不启动
binlog-checksum=CRC32          //主服务端在启动的时候要不要校验bin-log本身的校验码
master-verify-checksum=1        //都是在服务器出现故障情况下,读取对服务器有用的数据
slave-sql-verify-checksum=1 
binlog-rows-query-log_events=1       //启用后,可用于在二进制日志记录事件相关信息,可降低故障排除复杂度(并非强制启动)

systemd启动配置

cat >/etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF



systemctl start mysqld
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值