当前位置:   article > 正文

MySQL简单配置GTID_mysql-8.2.0-linux-glibc2.17-x86-64.tar.xz

mysql-8.2.0-linux-glibc2.17-x86-64.tar.xz

前期规划

IP地址

角色

系统版本

内核

软件包名称

192.168.2.3

Mysql主服务器

CentOS

Stream 9

5.14.0-

381.el9.x86_64

mysql-8.2.0-linux-glibc2.17-x86_64.tar.xz

192.168.2.4

Mysql从服务器

CentOS

Stream 9

5.14.0-

381.el9.x86_64

mysql-8.2.0-linux-glibc2.17-x86_64.tar.xz

部署

部署脚本,较为粗制,大家谨慎使用。

  1. <<ldp
  2. 服务器配置为初始化状态,并且系统为centos9系统。
  3. 执行该脚本的话首先需要将软件包放到/root下面,并且为二进制的tar xf mysql-8.2.0-linux-glibc2.17-x86_64.tar.xz包,并且本机器上面没有部署mysql
  4. 版权为LJP
  5. 转发请咨询2043565830@qq.com
  6. ldp
  7. echo `cd /root/`
  8. echo `tar xf mysql-8.2.0-linux-glibc2.17-x86_64.tar.xz`
  9. echo `ln -sv /root/mysql-8.2.0-linux-glibc2.17-x86_64 /usr/local/mysql`
  10. echo `groupadd mysql && useradd mysql -g mysql -s /sbin/nologin -M`
  11. echo `mkdir -pv /data/mysql/mysql3316/{data,logs,tmp,conf,run}`
  12. echo `chown -R mysql. /data/mysql/`
  13. echo `chown -R mysql. /data/mysql/ /usr/local/mysql/`
  14. echo `cat >/data/mysql/mysql3316/conf/my3316.cnf<<ldp
  15. [client]
  16. port = 3316
  17. socket = /data/mysql/mysql3316/run/mysql3316.sock
  18. default-character-set=utf8mb4
  19. [mysql]
  20. disable-auto-rehash
  21. #允许通过 TAB 键提示
  22. default-character-set = utf8mb4
  23. connect-timeout = 10
  24. [mysqld]
  25. user=mysql
  26. server-id = 3316
  27. port = 3316
  28. socket = /data/mysql/mysql3316/run/mysql3316.sock
  29. pid-file = /data/mysql/mysql3316/run/mysql3316.pid
  30. basedir = /usr/local/mysql
  31. datadir = /data/mysql/mysql3316/data
  32. #bind_address = 10.10.10.11
  33. autocommit = 1
  34. default_authentication_plugin=mysql_native_password
  35. character-set-server=utf8mb4
  36. explicit_defaults_for_timestamp=true
  37. lower_case_table_names=1
  38. back_log=103
  39. max_connections=10000
  40. max_connect_errors=100000
  41. table_open_cache=512
  42. external-locking=FALSE
  43. max_allowed_packet=32M
  44. sort_buffer_size=2M
  45. join_buffer_size=2M
  46. thread_cache_size=51
  47. transaction_isolation=READ-COMMITTED
  48. tmp_table_size=96M
  49. max_heap_table_size=96M
  50. ###***logs
  51. long_query_time = 10
  52. slow_query_log = 1
  53. slow_query_log_file=/data/mysql/mysql3316/logs/my3316-slow.log
  54. #log-warnings = 1
  55. log_error_verbosity=3
  56. log-error = /data/mysql/mysql3316/logs/mysql3316-error.log
  57. log_output = FILE
  58. #参数 log_output 指定了慢查询输出的格式,默认为 FILE
  59. #log-queries-not-using-indexes
  60. #log-slow-slave-statements
  61. max_binlog_size = 1G
  62. #max_relay_log_size = 1G
  63. # replication
  64. log-bin=/data/mysql/mysql3316/logs/mysql-bin
  65. #server-id=1
  66. #binlog_format= ROW
  67. #gtid_mode = on
  68. #enforce_gtid_consistency = 1
  69. #log_slave_updates = 1
  70. #master-info-repository=TABLE
  71. #relay-log-info-repository=TABLE
  72. # innodb storage engine parameters
  73. innodb_buffer_pool_size=500M
  74. innodb_data_file_path=ibdata1:100M:autoextend:max:2G #redo
  75. #innodb_data_file_path=ibdata1:100M:autoextend:max:5G #redo
  76. #innodb_data_file_path=ibdata1:100M:autoextend:max:5G #redo
  77. innodb_temp_data_file_path = ibtemp1:100M:autoextend:max:1G
  78. #innodb_temp_data_file_path = ibtemp1:100M:autoextend:max:10G
  79. #innodb_file_io_threads=4
  80. #默认的是 4
  81. innodb_log_buffer_size=16M
  82. innodb_log_file_size=256M #undo
  83. innodb_log_files_in_group=2
  84. innodb_lock_wait_timeout=50
  85. innodb_file_per_table=1
  86. #独立表空间
  87. ldp`
  88. echo `chown -R mysql. /usr/local/mysql/ /data/mysql/`
  89. echo `cd /usr/local/mysql/`
  90. echo `/usr/local/mysql/bin/mysqld \
  91. --defaults-file=/data/mysql/mysql3316/conf/my3316.cnf \
  92. --datadir=/data/mysql/mysql3316/data --user=mysql \
  93. --initialize-insecure --console ; echo $?`
  94. echo `ln -sv /usr/local/mysql/bin/mysql /usr/bin/`
  95. echo `yum -y install ncurses-devel`
  96. echo `ln -sv /usr/lib64/libncurses.so.6.2 /usr/lib64/libncurses.so.5`
  97. echo `ln -sv /usr/lib64/libtinfo.so.6.2 /usr/lib64/libtinfo.so.5`
  98. #执行完成之后,需要重新启动
  99. #cd /usr/local/mysql/
  100. #进入到目录里面启动
  101. # /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql/mysql3316/conf/my3316.cnf &
  102. #mysql -S /data/mysql/mysql3316/run/mysql3316.sock

部署完成之后设置变量方便管理

vim /etc/profile

启动

alias my3316start='cd /usr/local/mysql && ./bin/mysqld_safe --defaults-file=/data/mysql/mysql3316/conf/my3316.cnf &'

关闭

alias my3316stop='cd /usr/local/mysql && ./bin/mysqladmin -S /data/mysql/mysql3316/run/mysql3316.sock shutdown'

进入

alias my3316jq='mysql -S /data/mysql/mysql3316/run/mysql3316.sock'

刷新

source /etc/profile

修改配置文件

主从服务器都须修改

50行log-bin=/data/mysql/mysql3316/logs/mysql-bin

开启二进制日志

51行server-id=    主从配置必须不同,按照自己规划进行配置,这里不做要求

53行gtid_mode = on

开启gtid模式

54行enforce_gtid_consistency = 1

强制gtid一致性,开启后对特定的create table不被支持

55行的log_slave_updates = 1

从库binlog才会记录主库同步的操作日志

log-bin-index = /data/mysql/mysql3316/logs/mysql-bin.index

skip-slave-start = 1

跳过slave复制线程

注意:修改完成配置文件之后如果此时mysql服务器开启则,重启mysql服务器。

注意:如果之前mysql数据库有重要的数据的话,首先将数据库的文件 备份,之后再进行数据同步。

192.168.2.3主机配置

创建repl用户并且允许192.168.2网段的主机登录,密码为repl@123

create user repl@'192.168.2.%' identified with 'mysql_native_password' by 'repl@123';

授予repl用户使用192.168.2网段登录时,有数据同步的权限。

grant replication slave on *.* to 'repl'@'192.168.2.%';

192.168.2.4主机配置

 change master to

master_host='192.168.2.3',    #指向ip地址

master_port=3316,                 #指向该主机的mysql端口

master_user='repl',                 #使用的用户

master_password='repl@123', #使用的密码

master_auto_position=1;

在mysql从服务器上开启同步

start slave;

查看同步的状态

show slave status\G

如图显示 双yes

并且查看一下Seconds_Behind_Master字段的信息,如果显示为0,代表同步完成。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/937300
推荐阅读
相关标签
  

闽ICP备14008679号