Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Duplicate
-
6.4.11, 22.08.9
-
None
-
MXS-SPRINT-195
Description
SSL certificates don't show up in SLAVE STATUS when Master rejoins after being Down.
MariaDB ver(Master & Slave): 10.6.7-3
Maxscale ver: 6.4.11
MariaDB Master config: master_server.cnf master_client.cnf
MariaDB Slave config: slave_server.cnf slave_client.cnf
Maxscale config: maxscale.cnf
Steps to reproduce:
1. Enable SSL replication and have Maxscale monitor the servers with SSL
I followed this blog to create SSL certificates and enable SSL replication.
[root@localhost ~]# maxctrl list servers |
┌─────────┬───────────────┬──────┬─────────────┬─────────────────┬──────────┐
|
│ Server │ Address │ Port │ Connections │ State │ GTID │
|
├─────────┼───────────────┼──────┼─────────────┼─────────────────┼──────────┤
|
│ server1 │ 192.168.20.22 │ 3306 │ 0 │ Master, Running │ 0-100-54 │ |
├─────────┼───────────────┼──────┼─────────────┼─────────────────┼──────────┤
|
│ server2 │ 192.168.20.28 │ 3306 │ 0 │ Slave, Running │ 0-100-54 │ |
└─────────┴───────────────┴──────┴─────────────┴─────────────────┴──────────┘
|
2. SHOW SLAVE STATUS\G output from the slave server2
MariaDB [(none)]> SHOW ALL SLAVES STATUS\G
|
*************************** 1. row *************************** |
Connection_name:
|
Slave_SQL_State: Slave has read all relay log; waiting for more updates |
Slave_IO_State: Waiting for master to send event |
Master_Host: 192.168.20.22 |
Master_User: repl_ssl
|
Master_Port: 3306 |
Connect_Retry: 60 |
Master_Log_File: mariadb-server2-bin.000016 |
Read_Master_Log_Pos: 405 |
Relay_Log_File: mariadb_slave3-relay-bin.000021 |
Relay_Log_Pos: 714 |
Relay_Master_Log_File: mariadb-server2-bin.000016 |
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: 405 |
Relay_Log_Space: 1089 |
Until_Condition: None
|
Until_Log_File:
|
Until_Log_Pos: 0 |
Master_SSL_Allowed: Yes
|
Master_SSL_CA_File: /etc/my.cnf.d/certs/ca-cert.pem
|
Master_SSL_CA_Path:
|
Master_SSL_Cert: /etc/my.cnf.d/certs/client-cert.pem
|
Master_SSL_Cipher:
|
Master_SSL_Key: /etc/my.cnf.d/certs/client-key.pem
|
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: 100 |
Master_SSL_Crl: /etc/my.cnf.d/certs/ca-cert.pem
|
Master_SSL_Crlpath:
|
Using_Gtid: Slave_Pos
|
Gtid_IO_Pos: 0-100-54 |
Replicate_Do_Domain_Ids:
|
Replicate_Ignore_Domain_Ids:
|
Parallel_Mode: optimistic
|
SQL_Delay: 0 |
SQL_Remaining_Delay: NULL
|
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates |
Slave_DDL_Groups: 8 |
Slave_Non_Transactional_Groups: 1 |
Slave_Transactional_Groups: 0 |
Retried_transactions: 0 |
Max_relay_log_size: 1073741824 |
Executed_log_entries: 128 |
Slave_received_heartbeats: 0 |
Slave_heartbeat_period: 30.000 |
Gtid_Slave_Pos: 0-100-54 |
1 row in set (0.000 sec) |
3. stop mariadb service on Master and let the slave become the new Master
systemctl stop mariadb
|
|
maxctrl list servers
|
┌─────────┬───────────────┬──────┬─────────────┬────────────────┬──────────┐
|
│ Server │ Address │ Port │ Connections │ State │ GTID │
|
├─────────┼───────────────┼──────┼─────────────┼────────────────┼──────────┤
|
│ server1 │ 192.168.20.22 │ 3306 │ 0 │ Down │ 0-100-54 │ |
├─────────┼───────────────┼──────┼─────────────┼────────────────┼──────────┤
|
│ server2 │ 192.168.20.28 │ 3306 │ 0 │ Slave, Running │ 0-100-54 │ |
└─────────┴───────────────┴──────┴─────────────┴────────────────┴──────────┘
|
|
maxctrl list servers
|
┌─────────┬───────────────┬──────┬─────────────┬─────────────────┬──────────┐
|
│ Server │ Address │ Port │ Connections │ State │ GTID │
|
├─────────┼───────────────┼──────┼─────────────┼─────────────────┼──────────┤
|
│ server1 │ 192.168.20.22 │ 3306 │ 0 │ Down │ 0-100-54 │ |
├─────────┼───────────────┼──────┼─────────────┼─────────────────┼──────────┤
|
│ server2 │ 192.168.20.28 │ 3306 │ 0 │ Master, Running │ 0-100-54 │ |
└─────────┴───────────────┴──────┴─────────────┴─────────────────┴──────────┘
|
4. Now start the mariadb service
systemctl start mariadb
|
|
maxctrl list servers
|
┌─────────┬───────────────┬──────┬─────────────┬─────────────────┬──────────┐
|
│ Server │ Address │ Port │ Connections │ State │ GTID │
|
├─────────┼───────────────┼──────┼─────────────┼─────────────────┼──────────┤
|
│ server1 │ 192.168.20.22 │ 3306 │ 0 │ Slave, Running │ 0-100-54 │ |
├─────────┼───────────────┼──────┼─────────────┼─────────────────┼──────────┤
|
│ server2 │ 192.168.20.28 │ 3306 │ 0 │ Master, Running │ 0-100-54 │ |
└─────────┴───────────────┴──────┴─────────────┴─────────────────┴──────────┘
|
5. SLAVE STATUS output from server1 new Slave (previous Master)
MariaDB [(none)]> SHOW ALL SLAVES STATUS\G
|
*************************** 1. row *************************** |
Connection_name:
|
Slave_SQL_State: Slave has read all relay log; waiting for more updates |
Slave_IO_State: Waiting for master to send event |
Master_Host: 192.168.20.28 |
Master_User: repl_ssl
|
Master_Port: 3306 |
Connect_Retry: 60 |
Master_Log_File: mariadb_slave3-bin.000002 |
Read_Master_Log_Pos: 2091 |
Relay_Log_File: mariadb-server2-relay-bin.000002 |
Relay_Log_Pos: 702 |
Relay_Master_Log_File: mariadb_slave3-bin.000002 |
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: 2091 |
Relay_Log_Space: 1021 |
Until_Condition: None
|
Until_Log_File:
|
Until_Log_Pos: 0 |
Master_SSL_Allowed: Yes
|
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: 200 |
Master_SSL_Crl:
|
Master_SSL_Crlpath:
|
Using_Gtid: Current_Pos
|
Gtid_IO_Pos: 0-100-54 |
Replicate_Do_Domain_Ids:
|
Replicate_Ignore_Domain_Ids:
|
Parallel_Mode: optimistic
|
SQL_Delay: 0 |
SQL_Remaining_Delay: NULL
|
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates |
Slave_DDL_Groups: 0 |
Slave_Non_Transactional_Groups: 0 |
Slave_Transactional_Groups: 0 |
Retried_transactions: 0 |
Max_relay_log_size: 1073741824 |
Executed_log_entries: 8 |
Slave_received_heartbeats: 0 |
Slave_heartbeat_period: 30.000 |
Gtid_Slave_Pos: 0-100-54 |
1 row in set (0.000 sec) |
Shows Master_SSL_Allowed: Yes but certificates are not displayed.
Error log |
2023-11-01 11:34:06 0 [Note] /usr/sbin/mariadbd: ready for connections. |
Version: '10.6.7-3-MariaDB-enterprise-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 MariaDB Enterprise Server |
2023-11-01 11:34:07 4 [Note] Master connection name: '' Master_info_file: 'master.info' Relay_info_file: 'relay-log.info' |
2023-11-01 11:34:07 4 [Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MariaDB server acts as a replica and has its hostname changed. Please use '--log-basename=#' or '--relay-log=mariadb-server2-relay-bin' to avoid this problem. |
2023-11-01 11:34:07 4 [Note] 'CHANGE MASTER TO executed'. Previous state master_host='', master_port='3306', master_log_file='', master_log_pos='4'. New state master_host='192.168.20.28', master_port='3306', master_log_file='', master_log_pos='4'. |
2023-11-01 11:34:07 4 [Note] Previous Using_Gtid=No. New Using_Gtid=Current_Pos |
2023-11-01 11:34:07 5 [Note] Slave I/O thread: Start asynchronous replication to master 'repl_ssl@192.168.20.28:3306' in log '' at position 4 |
2023-11-01 11:34:07 6 [Note] Slave SQL thread initialized, starting replication in log 'FIRST' at position 4, relay log './mariadb-server2-relay-bin.000001' position: 4; GTID position '0-100-54' |
2023-11-01 11:34:07 5 [Note] Slave I/O thread: connected to master 'repl_ssl@192.168.20.28:3306',replication starts at GTID position '0-100-54' |
Attachments
Issue Links
- relates to
-
MXS-4718 Add replication_custom_options to enable replication TLS certification check
- Closed