Centos7 MySql8 集群1主3从搭建

CentOS7.8-MySQL-MHA高可用部署搭建 目录Msyql MHA高可用MHA简介:MHA 优点:MHA 故障切换流程Manager工具:MHA搭建操作步骤:一、基础环境搭建1.1、将主机全部修改主机名&生成密钥1.2、man-manager修改host同步1.3、yum安装mysql 5.7版本1.44、优化MySQL(101、102、103都做)1.5、将下文导入my.cnf(101、102、103都做)1.6、mha-slave1二、开始配置主从复制2.1、mha-master2.2、mha-slave12.3、mha-slave22.4、mh 阅读详情

安装参考:Centos7 MySql8安装 

主从配置和遇到的坑以及爬坑方案:

一.主库配置:192.168.0.1
1.修改my.cnf
vi /etc/my.cnf
加入下面的配置:
#主从复制配置
#[必须]设置主服务器唯一ID,默认是1,一般取IP最后一段,但是要保证和slave的id不一样
server-id = 118
#[必须]启用二进制日志
log-bin=master-bin
log-bin-index=master-bin.index
#若涉及及同步函数或者存储过程需要配置,否则主备会产生异常不能同步  
log_bin_trust_function_creators=TRUE

重启MySQL:
systemctl restart mysqld

2.登录数据库,密码为root@2021
mysql -uroot -p
3.在主库的服务器上,给从库分配权限(主服务器新建用户并赋予“REPLICATION SLAVE”的权限)。
在Master库创建一个账号,具备Replication Slave权限,提供给Slave库访问二进制日志使用。
mysql> CREATE USER 'slaveuser'@'%' IDENTIFIED BY 'root@2021';
Query OK, 0 rows affected (0.03 sec)
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slaveuser'@'%';
Query OK, 0 rows affected (0.00 sec)
刷新权限:
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
查看Master状态:
mysql> show master status;
+-------------------+----------+--------------+------------------+-------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000001 |      865 |              |                  |                   |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

4.查看master状态,到这里master的配置已经完成。
mysql> show master status \G;
*************************** 1. row ***************************
             File: master-bin.000001
         Position: 865
     Binlog_Do_DB:
 Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)

ERROR:
No query specified

二.从库配置:192.168.0.2
1.修改my.cnf
vi /etc/my.cnf

#主从复制配置[从库]
#[必须]设置从服务器唯一ID,要保证ID于其他主从ID不一样
server_id =122
relay-log=master-bin

2.重启MySQL:
systemctl restart mysqld

3.登录mysql并配置从服务器,设置从服务器对主服务器的监听,密码为root@2021
mysql -uroot -p
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.1',MASTER_USER='slaveuser',MASTER_PASSWORD='root@2021',MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=865,Master_Port=3306;

说明:
MASTER_HOST:master的ip或虚ip或域名
MASTER_USER:master上之前创建的登录账户名
MASTER_PASSWORD:创建的登录账户密码
MASTER_LOG_FILE:master的file
MASTER_LOG_POS:master的position
4.刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
5.启动从服务器复制功能
mysql> start slave;
Query OK, 0 rows affected, 1 warning (0.04 sec)

6.查看从服务器的状态
mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.0.1
                  Master_User: slaveuser
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: master-bin.000001
          Read_Master_Log_Pos: 1363
               Relay_Log_File: master-bin.000004
                Relay_Log_Pos: 325
        Relay_Master_Log_File: master-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              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: 1363
              Relay_Log_Space: 1196
              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: 118
                  Master_UUID: cca01ee8-5b91-11e3-99c3-2c44fd932330
             Master_Info_File: mysql.slave_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:
       Master_public_key_path:
        Get_master_public_key: 0
            Network_Namespace:
1 row in set, 1 warning (0.01 sec)

ERROR:
No query specified

如果
Slave_IO_Running:Yes
Slave_SQL_Running: Yes
说明我们的从服务器配置成功,主从复制的配置都已完成。

三.从库配置:192.168.0.3
1.修改my.cnf
vi /etc/my.cnf

#主从复制配置[从库]
#[必须]设置从服务器唯一ID,要保证ID于其他主从ID不一样
server_id =123
relay-log=master-bin

2.重启MySQL:
systemctl restart mysqld

3.登录mysql并配置从服务器,设置从服务器对主服务器的监听,密码为root@2021
mysql -uroot -p
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.1',MASTER_USER='slaveuser',MASTER_PASSWORD='root@2021',MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=865,Master_Port=3306;
Query OK, 0 rows affected, 2 warnings (0.29 sec)
创建用户:
mysql> CREATE USER 'slaveuser'@'%' IDENTIFIED WITH mysql_native_password BY 'root@2021';
Query OK, 0 rows affected (0.06 sec)
说明:
MASTER_HOST:master的ip或虚ip或域名
MASTER_USER:master上之前创建的登录账户名
MASTER_PASSWORD:创建的登录账户密码
MASTER_LOG_FILE:master的file
MASTER_LOG_POS:master的position
4.刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
5.启动从服务器复制功能
mysql> start slave;
Query OK, 0 rows affected, 1 warning (0.04 sec)

6.查看从服务器的状态
mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.0.1
                  Master_User: slaveuser
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: master-bin.000001
          Read_Master_Log_Pos: 1363
               Relay_Log_File: master-bin.000002
                Relay_Log_Pos: 823
        Relay_Master_Log_File: master-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              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: 1363
              Relay_Log_Space: 1027
              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: 118
                  Master_UUID: cca01ee8-5b91-11e3-99c3-2c44fd932330
             Master_Info_File: mysql.slave_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:
       Master_public_key_path:
        Get_master_public_key: 0
            Network_Namespace:
1 row in set, 1 warning (0.01 sec)

ERROR:
No query specified

如果
Slave_IO_Running:Yes
Slave_SQL_Running: Yes
说明我们的从服务器配置成功,主从复制的配置都已完成。

###问题1,修改了默认端口问题:https://blog.youkuaiyun.com/wuhaotian1996/article/details/86714340
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.1',MASTER_USER='slaveuser',MASTER_PASSWORD='root@2021',MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=865,Master_Port=3306;
解决:停止从库
mysql> STOP SLAVE;
Query OK, 0 rows affected, 1 warning (0.05 sec)
重新授权,成功
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.1',MASTER_USER='slaveuser',MASTER_PASSWORD='root@2021',MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=865,Master_Port=3306;
Query OK, 0 rows affected, 2 warnings (0.04 sec)
打开从库
mysql> start slave;
Query OK, 0 rows affected, 1 warning (0.00 sec)

###问题2,密码加密方式问题:https://www.cnblogs.com/ryxiong-blog/p/12516875.html
 Last_IO_Errno: 2061
 Last_IO_Error: error connecting to master 'slaveuser@192.168.0.1:3306' - retry-time: 60 retries: 1 message: Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.
解决:
停止从库:
mysql> STOP SLAVE;
Query OK, 0 rows affected, 1 warning (0.05 sec)
###修改主库加密方式:###
mysql> ALTER USER 'slaveuser'@'%' IDENTIFIED WITH mysql_native_password BY 'root@2021';
Query OK, 0 rows affected (0.01 sec)
重启slave
mysql> start slave;
Query OK, 0 rows affected, 1 warning (0.00 sec)

###问题3,从库无法连接主库:
Last_SQL_Errno: 1396
Last_SQL_Error: Error 'Operation ALTER USER failed for 'slaveuser'@'%'' on query. Default database: ''. Query: 'ALTER USER 'slaveuser'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*B4904D15E9FA44C4732642F8913A2EEC0E80B3AC''
解决:https://blog.youkuaiyun.com/hehuyi_in/article/details/102917165
在从库创建用户并授权
mysql> CREATE USER 'slaveuser'@'%' IDENTIFIED WITH mysql_native_password BY 'root@2021';
Query OK, 0 rows affected (0.06 sec)
刷新权限:
mysql> flush privileges;
还需要重新启动一下同步,再进行检查
mysql> stop slave;
Query OK, 0 rows affected, 2 warnings (0.00 sec)

mysql> start slave;
Query OK, 0 rows affected, 1 warning (0.03 sec)

mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.0.1
                  Master_User: slaveuser
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: master-bin.000001
          Read_Master_Log_Pos: 1363
               Relay_Log_File: master-bin.000004
                Relay_Log_Pos: 325
        Relay_Master_Log_File: master-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              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: 1363
              Relay_Log_Space: 1196
              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: 118
                  Master_UUID: cca01ee8-5b91-11e3-99c3-2c44fd932330
             Master_Info_File: mysql.slave_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:
       Master_public_key_path:
        Get_master_public_key: 0
            Network_Namespace:
1 row in set, 1 warning (0.01 sec)

ERROR:
No query specified

完成:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

###问题4,无法连接主库:
Last_IO_Errno: 2003
Last_IO_Error: error connecting to master 'slaveuser@192.168.0.1:3306' - retry-time: 60 retries: 3 message: Can't connect to MySQL server on '192.168.0.1' (111)
解决:
mysql> stop slave;
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.1',MASTER_USER='slaveuser',MASTER_PASSWORD='root@2021',MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=865,Master_Port=3306;
mysql> start slave;
mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.0.1
                  Master_User: slaveuser
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: master-bin.000001
          Read_Master_Log_Pos: 1363
               Relay_Log_File: master-bin.000002
                Relay_Log_Pos: 823
        Relay_Master_Log_File: master-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              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: 1363
              Relay_Log_Space: 1027
              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: 118
                  Master_UUID: cca01ee8-5b91-11e3-99c3-2c44fd932330
             Master_Info_File: mysql.slave_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:
       Master_public_key_path:
        Get_master_public_key: 0
            Network_Namespace:
1 row in set, 1 warning (0.01 sec)

ERROR:
No query specified

问题5:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
解决:
1、 修改用户密码
mysql> alter user 'root'@'localhost' identified by 'root@2021';
或者       
mysql> set password=password("root@2021");
2、刷新权限
mysql> flush privileges;

问题6:1146
Last_SQL_Errno: 1146
Last_SQL_Error: Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: 
Worker 16 failed executing transaction 'cca01ee8-5b91-11e3-99c3-2c44fd932330:5901' at master log master-bin.000014, 
end_log_pos 1237614. See error log and/or performance_schema.replication_applier_status_by_worker table for more details about this failure or others, if any.
解决:
mysql> reset slave all;
ERROR 3081 (HY000): This operation cannot be performed with running replication threads; run STOP SLAVE FOR CHANNEL 'master_3' first
mysql> stop slave;
mysql> CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000014', MASTER_LOG_POS=20057536;
ERROR 3079 (HY000): Multiple channels exist on the slave. Please provide channel name as an argument.
mysql> reset slave all;
mysql> stop slave;
mysql> change master to master_auto_position=0;
mysql> stop  slave;
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.1',MASTER_USER='slaveuser',MASTER_PASSWORD='root@2021',MASTER_LOG_FILE='master-bin.000014', MASTER_LOG_POS=20062462,Master_Port=3306;
mysql> start slave;
mysql> show slave status\G;

问题7:1051
Master_Log_File: master-bin.000014
Read_Master_Log_Pos: 18969343
Relay_Log_File: master-bin-master_1.000038
Relay_Log_Pos: 942126
Relay_Master_Log_File: master-bin.000014
Slave_IO_Running: Yes
Slave_SQL_Running: No
Last_SQL_Errno: 1051
Last_SQL_Error: Error 'Unknown table 'ad_base.t,ad_base.test1'' on query. Default database: 'ad_base'. Query: 'DROP TABLE `t`,`test1` /* generated by server */'

解决:https://www.codenong.com/cs109650301/
原因:sql_thread执行relaylog时,发现从库并没有test.t2表。
场景:主库已经把库表删除了,从库已经早一步删除了对应的库表。可以跳过这个事物,保持主从复制正常和主从数据一致
操作:http://blog.chinaunix.net/uid-30234421-id-5761157.html
stop  slave;
reset slave;
start slave;
show slave status\G;

问题8:13114
Last_IO_Errno: 13114
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Cannot replicate anonymo
us transaction when @@GLOBAL.GTID_MODE = ON, at file ./master-bin.000004, position 156.; the first event '' at 4, the last
event read from './master-bin.000004' at 235, the last byte read from './master-bin.000004' at 235.'
解决:
https://blog.youkuaiyun.com/qq_42395490/article/details/107451996
https://blog.youkuaiyun.com/eagle89/article/details/104950222
stop slave;
CHANGE MASTER TO MASTER_HOST='192.168.0.1',MASTER_USER='slaveuser',MASTER_PASSWORD='root@2021',MASTER_LOG_FILE='master-bin.000014', MASTER_LOG_POS=20986469,Master_Port=3306;

stop  slave;
CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000014', MASTER_LOG_POS=20986469;
start slave;
show slave status\G;

问题9:ERROR 3079 (HY000): Multiple channels exist on the slave. Please provide channel name as an argument.
reset slave all;
stop slave;
change master to master_auto_position=0;
stop  slave;
CHANGE MASTER TO MASTER_HOST='192.168.0.1',MASTER_USER='slaveuser',MASTER_PASSWORD='root@2021',MASTER_LOG_FILE='master-bin.000014', MASTER_LOG_POS=20986469,Master_Port=3306;
start slave;
show slave status\G;

问题10:
Last_SQL_Errno: 1032
Last_SQL_Error: Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: 
Worker 16 failed executing transaction 'cca01ee8-5b91-11e3-99c3-2c44fd932330:39043' at master log master-bin.000014, end_log_pos 20042727. 
See error log and/or performance_schema.replication_applier_status_by_worker table for more details about this failure or others, if any.
解决:
select * from performance_schema.replication_applier_status_by_worker\G;
从数据恢复一致后需要在slave上跳过报错的事务
在从库中执行
Stop slave;
Set @@SESSION.GTID_NEXT='cca01ee8-5b91-11e3-99c3-2c44fd932330:39584'
Begin;
Commit;
Set @@SESSION.GTID_NEXT = AUTOMATIC;
Start slave;
Show slave status\G;
再次查看从库状态,恢复正常即解决

问题11:
Last_SQL_Errno: 1062
Last_SQL_Error: Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: 
Worker 16 failed executing transaction 'cca01ee8-5b91-11e3-99c3-2c44fd932330:39242' at master log master-bin.000014, end_log_pos 20151378. 
See error log and/or performance_schema.replication_applier_status_by_worker table for more details about this failure or others, if any.

问题12:
Last_SQL_Errno: 1032
Last_SQL_Error: Could not execute Delete_rows event on table test01.b1; Can't find record in 'b1', Error_code: 1032; 
handler error HA_ERR_KEY_NOT_FOUND; the event's master log master-bin.000014, end_log_pos 20675809
解决:(万能解决方法,但是不推荐)
stop  slave;
reset slave;
start slave;
show slave status\G;
stop slave;
CHANGE MASTER TO MASTER_HOST='192.168.0.1',MASTER_USER='slaveuser',MASTER_PASSWORD='root@2021',MASTER_LOG_FILE='master-bin.000014', MASTER_LOG_POS=20986469,Master_Port=3306;
stop  slave;
CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000014', MASTER_LOG_POS=20986469;
start slave;
show slave status\G;

Last_SQL_Errno: 1062
Last_SQL_Error: Could not execute Write_rows event on table test01.b1; Duplicate entry '0' for key 'b1.PRIMARY', Error_code: 1062; 
handler error HA_ERR_FOUND_DUPP_KEY; the event's master log master-bin.000014, end_log_pos 20151378

 

CentOS Stream 9 中部署 MySQL 8.0 MGR(MySQL Group Replication)一主两从高可用集群 本文详细介绍了MySQL 8.0中的高可用方案,包括主从复制、MySQL InnoDB Cluster、MHA、Galera Cluster和ProxySQL+MGR/主从等。每种方案都从原理、优点、缺点和适用场景进行了分析。主从复制适合读多写少的中小型网站,MGR适合需要强一致性和自动故障转移的核心系统,MHA适合传统企业系统,Galera Cluster适合跨地域写入需求,ProxySQL组合适合高并发多维读写系统。文章还提供了环境准备和高可用搭建的详细步骤,包括系统配置、MySQL安装、配置文件修改和 阅读详情

相关推荐

centos7 搭建Hive3集群

上一篇写了在centos7上搭建hadoop3集群,这期简单写下hive3。 一、Mysql hive需要mysql,但是我公司开发环境有mysql,所以我没有安装,直接用现成的。 二、master安装hive3 我的机子:10.0.2.4是node1(master),10.0.2.15是node2(slave),10.0.2.5是node3(slave),先配置node1. ①下载hive放到master机器上,我是放在/opt/hive/Index of /hive/hive-3.1.2htt

jyyy1990的博客 3356

MySQL AB主从复制 解析

文章目录AB、主从复制一,什么是主从复制1,主从复制2,主从复制的作用二,主从复制的原理三,主从复制的作用及可以解决的问题主从复制的作用主从复制可以解决的问题四,M-S 架构GTID 基于事务ID复制1,什么是GTID2,GTID工作原则3,部署主从复制 AB、主从复制 一,什么是主从复制 1,主从复制 是用来建立一个和主数据库完全一样的数据库环境,称为从数据库; 主数据库一般是准实时的业务数据库。 2,主从复制的作用 1.做数据的热备, 作为后备数据库,主数据库服务器故障后,可切换到从数据库继

鑫磊的日常 1014

Centos7搭建MySQL集群

软件包下载地址:http://galeracluster.com/downloads/ 安装前需卸载原有mysql,删除相关文件夹;卸载Postfix,这个可能跟MySQL配置有冲突: yum remove postfix –y 先检测一下有没有:yum list installed | grep mysql卸载:yum -y remove mysql-libs.x86_64 卸载系统自带...

冯冯领队 2071

在centos7中进行Mysql8的主从配置(一)

实现两台linux上的mysql主从配置

m0_56167198的博客 738

Centos7部署CDH6.3.2集群

Centos7部署CDH6.3.2集群 文章目录Centos7部署CDH6.3.2集群一、简述二、环境准备1、硬件:2、软件包下载三、环境初始化1、关闭防火墙2、修改主机名3、配置hosts文件4、配置免密登录5、设置时间同步6、主节点hadoop01部署MySQL5.7第一步:彻底卸载系统原装的MySQL第二步:yum源设置为阿里源第二步:下载配置MySQL的rpm安装包第三步:安装mysql第...

DevinKim的博客 5847

MySQL8.0的MGR多主搭建与测试

本文部分内容有参考其他文章。 环境: 虚拟机VMware, OS:CentOS Linux release 7.3.1611 (Core) 按照下述的单机Mysql8.0的安装方式进行安装完之后,将该机复制两台,分别修改IP为192.168.1.78和192.168.1.78,以及两台新机器配置文件/etc/my.cnf的serverid,还有要去数据路径下删掉auto.cnf不然配置不成。 v...

zhangwenjiang001的博客 4607

centos7 配置mysql8主从复制

主从复制原理:从机(slave)通过读取和同步主机(master)上的二进制日志上的事件(events),在从机本地的数据库中来重现这些操作,从而达到复制的效果。主:192.168.100.101从:192.168.100.102。

shipeifei_gonghe的专栏 466

centos7部署mysql8.0.35,主从复制,主主集群

centos7 linux部署mysql,主从复制,主主模式

zaixiaqin的博客 1990

mysql8 主从复制,MySQL 8 主从复制设置

前言MySQL 有一个比较重要的功能是主从复制,也就是一个主库,可以设置 n 个从库,从库的数据能够自动和主库的数据保持一致。主从复制的架构有两个好处,一个是进行数据自动的备份,数据在主库和从库上都有一份,如果主库挂了,从库还有一份完整的数据。另一个是可以实现数据库访问的读写分离,提高数据库的吞吐量。也就是对数据的更新操作是在主库中完成的,而读取操作在多个从库中完成的,从而实现了负荷分担的效果,提...

weixin_33917474的博客 518

CentOS7搭建Kubernetes集群

环境准备:Centos7(2核、master内存3GB、slave内存2GB) 搭建概述:先将一台虚拟机搭建为master、随后克隆出两台虚拟机作为从节点。

向之 所欣 2436

MRI脑影像分析从哲学到技术:一文搞懂VBM预处理基本原理(全网最详细解析)

   分析大脑解剖学差异最常用方法之一是基于体素的形态学方法(voxel-based morphometry, VBM)。 VBM的基本思想是测量大脑组织,尤其是灰质的局部浓度的差异。在大脑的每个体素处进行操作,然后在两个或多个实验组之间进行统计比较,从而在受调查的组之间建立特定大脑区域中脑组织浓度的统计学显着差异。 VBM分析基于(高分辨率)MRI脑部扫描,涉及大量处理步骤,主要是空间归一化,分割,平滑和统计分析,最终结果是统计图,显示了各组之间组织类型明显不同的区域[^1]。 参考 [^1] ..

意疏的学习笔记 3万+

【MySQL集群一】CentOS 7上搭建MySQL集群:一主一从、多主多从

MySQL集群允许您创建高可用性的数据库环境,提供故障容忍性和负载均衡。在本博客中,我们将演示如何在两台CentOS 7服务器上搭建MySQL集群,包括一主一从和多主多从的配置。

Java老兵的后端进阶与AI前沿探索之路。 1866

DDR4协议规范之(一)DDR4结构和寻址

DDR4 SDRAM结构和寻址DDR4 SDRAM的封装和寻址新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 DDR4 SDRAM的封装和寻址 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习

YJFeiii的博客 3万+

基于MySQL8.0安装部署MHA集群(一主两从)

之前搭建过MySQL5.7版本的MHA集群,因为一些需要,现进行MySQL8.0版本的MHA集群搭建,搭建步骤基本与5.7版本相似,所以某些测试部分、问题解决、安装包、mha的IP漂移配置文件可以参照我之前写的博文,但是有部分配置文件做了改动,且8.0版本的某些命令与5.7版本的也不尽相同,需要注意。基于MySQL5.7安装部署MHA集群(一主一从)可查看MySQL高可用集群搭建(一主一从)-优快云博客。

qq_50948831的博客 1897

《数据结构》04-树4 是否同一棵二叉搜索树

题目 给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。 输入格式: 输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10)和L,分别是每个序列插入元素的个数和需要...

叫我皮卡丘 2013

大疆OcuSync vs 传统2.4GHz:深度拆解无人机图传射频模块的硬件差异

本文深度对比了大疆OcuSync与传统2.4GHz无人机图传射频模块的硬件差异,涵盖芯片组、天线系统、PCB设计、散热方案及生产测试等核心环节。重点解析OcuSync的全定制SoC芯片、智能MIMO天线阵列及精密PCB布局如何实现革命性性能提升,为无人机图传技术发展提供专业参考。

u5v6w7的博客 807

搭建mysql8集群——一主一从

搭建mysql8集群——一主一从

z1171127310的博客 2339

复古与新生:老毛子Padavan固件在旧设备上的现代化应用之旅

本文探讨了如何通过刷入Padavan固件,让小米路由器3G(R3G)等老旧设备重获新生,实现现代化应用。详细介绍了从硬件潜力分析、智能家居中枢搭建,到轻量级服务器部署和网络功能扩展的全过程,为技术爱好者提供了一条低成本、高性能的设备改造之路。

k8s6orchestrator的博客 1063

基于Centos7.X部署mysql8.4集群(主备)

但是在MySQL 8.4中,SHOW MASTERY STATUS 已经被废弃,应该使用 SHOW BINARY LOGS 来确认二进制日志已经启用和查看状态。为了保持数据一致性,建议在主服务器在执行一遍SHOW BINARY LOG STATUS 并记录 File 和Position的值。2.2 从库连接主库,读取binlog日志,并写入自身中继日志relaylog。将在主库的数据变更同步到从库,从而保证主库和从库的数据一致。如果返回的值是 ON 或 1,则说明二进制日志已经启用。3.4 测试主从复制。

神奇侠MAKER 1133

WorkBuddy最新更新特性(2026-07-21)

WorkBuddy最新更新特性

AI人人懂 583

A*搜索算法在三维路径规划(避障)中的MATLAB实现与Python实现

A star algorithmA*搜索算法简介A*搜索算法的Python简化代码MATLAB实现启发函数回溯轨迹RRT算法对比A\*算法在三维路径规划中的一些不足 A*搜索算法简介 A*搜索算法是Greedy Best-First算法的改进,因为Greedy Best-First算法只考虑将预估距离(当前节点到目标点的预估距离)作为遴选开节点集的条件。即: priority=heuristic(goal,next)priority=heuristic(goal, next)priority=heurist

ZYunfei的博客 2万+

centos8下搭建mysql集群

mysql集群搭建

weixin_37266841的博客 1755

〖Python WEB 自动化测试实战篇⑤〗- selenium 元素定位详解 - (八大元素定位方式)

测试对象的定位和操作是我们利用 selenium 编写自动化脚本和 webdriver 的核心内容,其中 "操作" 这一部分又是建立在 "selenium" 元素定位的基础之上的。所以对元素对象的定位就显得越发的重要,接下来我们就学习一下常用的元素定位方法有哪些。......

易编橙 · 终身成长社群,相遇已是上上签! 4万+

CentOS 7通过Galera搭建Mysql集群

文章目录前言一、Mysql安装1、资源准备2、依赖库安装3、卸载CentOS 7默认安装的mariadb4、安装mysql-wsrep5、安装scons6、安装mysql-community7、安装galera8、建立对应的目录、用户,同时赋予权限9、对数据库进行初始化10、MySQL Galera配置二、MySQL-python安装1、资源准备2、依赖库安装3、安装MySQL-python 前言 在CentOS 7.3下通过Galera Cluster搭建Mysql 5.6集群,在此将操作记录下来,亲测

心在天涯----测试之路 1409

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

基于CentOS7搭建MHA集群

MHA 是一种 MySQL 主从架构高可用方案,由日本 DeNA 公司开发,旨在最大限度地减少主库宕机时的数据丢失与服务中断时间。MHA 通过自动检测主库的故障,在主库宕机后,自动选择最合适的从库提升为新主库,并在最短时间内恢复复制结构,实现 MySQL 服务的快速恢复。

2301_76656314的博客 2168

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Centos7搭建集群

Centos7的集群搭建

yj200151的博客 1837

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: Centos7 MySql8安装
下一篇: elasticsearch-head 连接ES出现401问题解决
JavaAlpha
博客等级 码龄18年 910粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值