Uploaded image for project: 'MariaDB MaxScale'
  1. MariaDB MaxScale
  2. MXS-1897

Replication Error : The slave I/O thread stops because a fatal error is encountered when it tried to SELECT @master_binlog_checksum

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 2.2.7
    • Fix Version/s: N/A
    • Component/s: binlogrouter
    • Labels:
    • Environment:
      Debian 8, virtualBox, MariaDB v10.0.32 and MaxScale installed inside single VM

      Description

      I am trying to setup Real-time Data Streaming to Kafka with MaxScale CDC with MariaDB veriosn 10.0.32. After configuring replication, I am getting the status:

      "The slave I/O thread stops because a fatal error is encountered when it tried to SELECT @master_binlog_checksum".

      Below are all of my configurations:

      MariaDB - Configuration

      server-id               = 1
      #report_host            = master1
      #auto_increment_increment = 2
      #auto_increment_offset  = 1
      log_bin                 = /var/log/mysql/mariadb-bin
      log_bin_index           = /var/log/mysql/mariadb-bin.index
      binlog_format           = row
      binlog_row_image        = full
      # not fab for performance, but safer
      #sync_binlog            = 1
      expire_logs_days        = 10
      max_binlog_size         = 100M
      # slaves
      #relay_log              = /var/log/mysql/relay-bin
      #relay_log_index        = /var/log/mysql/relay-bin.index
      #relay_log_info_file    = /var/log/mysql/relay-bin.info
      #log_slave_updates
      #read_only
      

      MaxScale Configuration

      [server1]
      type=server
      address=192.168.56.102
      port=3306
      protocol=MariaDBBackend
       
      [replication]
      type=service
      router=binlogrouter
      version_string=10.0.32-log
      user=myuser
      passwd=mypwd
      server_id=3
      router_options=binlogdir=/var/lib/maxscale,mariadb10-compatibility=1
      filestem=master-binlog
       
      [Replication Listener]
      type=listener
      service=replication
      protocol=MySQLClient
      port=5308
      authenticator_options=inject_service_user=true
       
      #CDC Service & Listener
      #
      [CDC-Service]
      type=service
      router=avrorouter
      source=replication
      router_options=filestem=binlog
      user=myuser
      passwd=mypwd
       
      [CDC Listener]
      type=listener
      service=CDC-Service
      protocol=CDC
      port=4001
      

      User Grants

      GRANT SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'myuser'@'192.168.56.102' IDENTIFIED BY PASSWORD
      GRANT SELECT ON `mysql`.`tables_priv` TO 'myuser'@'192.168.56.102'                                                                                                 
      GRANT SELECT ON `mysql`.`db` TO 'myuser'@'192.168.56.102'                                                                                                          
      GRANT SELECT ON `mysql`.`user` TO 'myuser'@'192.168.56.102' 
      

      Starting Replication

      CHANGE MASTER TO MASTER_HOST='192.168.56.102', MASTER_PORT=5308, MASTER_USER='myuser', MASTER_PASSWORD='mypwd', MASTER_LOG_POS=328, MASTER_LOG_FILE='mariadb-bin.000018';
      START SLAVE;
      

      Replication Status

      Master_Host: 192.168.56.102
                        Master_User: myuser
                        Master_Port: 5308
                      Connect_Retry: 60
                    Master_Log_File: mariadb-bin.000018
                Read_Master_Log_Pos: 328
                     Relay_Log_File: mysqld-relay-bin.000002
                      Relay_Log_Pos: 4
              Relay_Master_Log_File: mariadb-bin.000018
                   **Slave_IO_Running: No**
                  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: 328
                    Relay_Log_Space: 248
                    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: NULL
      Master_SSL_Verify_Server_Cert: No
                      Last_IO_Errno: 1593
                      Last_IO_Error: **The slave I/O thread stops because a fatal error is encountered when it tried to SELECT @master_binlog_checksum. Error:**
                     Last_SQL_Errno: 0
                     Last_SQL_Error:
        Replicate_Ignore_Server_Ids:
                   Master_Server_Id: 0
                     Master_SSL_Crl:
                 Master_SSL_Crlpath:
                         Using_Gtid: No
                        Gtid_IO_Pos:
      

      MaxScale Log

      2018-06-03 12:33:55   notice : Working directory: /var/log/maxscale
      2018-06-03 12:33:55   notice : The collection of SQLite memory allocation statistics turned off.
      2018-06-03 12:33:55   notice : Threading mode of SQLite set to Multi-thread.
      2018-06-03 12:33:55   notice : MariaDB MaxScale 2.2.7 started
      2018-06-03 12:33:55   notice : MaxScale is running in process 2303
      2018-06-03 12:33:55   notice : Configuration file: /etc/maxscale.cnf
      2018-06-03 12:33:55   notice : Log directory: /var/log/maxscale
      2018-06-03 12:33:55   notice : Data directory: /var/lib/maxscale
      2018-06-03 12:33:55   notice : Module directory: /usr/lib/x86_64-linux-gnu/maxscale
      2018-06-03 12:33:55   notice : Service cache: /var/cache/maxscale
      2018-06-03 12:33:55   notice : Loading /etc/maxscale.cnf.
      2018-06-03 12:33:55   warning: Whitespace in object names is deprecated, converting to hyphens: Replication Listener
      2018-06-03 12:33:55   warning: Whitespace in object names is deprecated, converting to hyphens: CDC Listener
      2018-06-03 12:33:55   notice : /etc/maxscale.cnf.d does not exist, not reading.
      2018-06-03 12:33:55   notice : [cli] Initialise CLI router module
      2018-06-03 12:33:55   notice : Loaded module cli: V1.0.0 from /usr/lib/x86_64-linux-gnu/maxscale/libcli.so
      2018-06-03 12:33:55   notice : [readwritesplit] Initializing statement-based read/write split router module.
      2018-06-03 12:33:55   notice : Loaded module readwritesplit: V1.1.0 from /usr/lib/x86_64-linux-gnu/maxscale/libreadwritesplit.so
      2018-06-03 12:33:55   notice : [readconnroute] Initialise readconnroute router module.
      2018-06-03 12:33:55   notice : Loaded module readconnroute: V1.1.0 from /usr/lib/x86_64-linux-gnu/maxscale/libreadconnroute.so
      2018-06-03 12:33:55   notice : Loaded module avrorouter: V1.0.0 from /usr/lib/x86_64-linux-gnu/maxscale/libavrorouter.so
      2018-06-03 12:33:55   notice : [binlogrouter] Initialise binlog router module.
      2018-06-03 12:33:55   notice : Loaded module binlogrouter: V2.1.0 from /usr/lib/x86_64-linux-gnu/maxscale/libbinlogrouter.so
      2018-06-03 12:33:55   notice : [mariadbmon] Initialise the MariaDB Monitor module.
      2018-06-03 12:33:55   notice : Loaded module mariadbmon: V1.5.0 from /usr/lib/x86_64-linux-gnu/maxscale/libmariadbmon.so
      2018-06-03 12:33:55   notice : Loaded module MariaDBBackend: V2.0.0 from /usr/lib/x86_64-linux-gnu/maxscale/libmariadbbackend.so
      2018-06-03 12:33:55   notice : Loaded module MySQLBackendAuth: V1.0.0 from /usr/lib/x86_64-linux-gnu/maxscale/libmysqlbackendauth.so
      2018-06-03 12:33:55   notice : Loaded module maxscaled: V2.0.0 from /usr/lib/x86_64-linux-gnu/maxscale/libmaxscaled.so
      2018-06-03 12:33:55   notice : Loaded module MaxAdminAuth: V2.1.0 from /usr/lib/x86_64-linux-gnu/maxscale/libmaxadminauth.so
      2018-06-03 12:33:55   notice : Loaded module MariaDBClient: V1.1.0 from /usr/lib/x86_64-linux-gnu/maxscale/libmariadbclient.so
      2018-06-03 12:33:55   notice : Loaded module MySQLAuth: V1.1.0 from /usr/lib/x86_64-linux-gnu/maxscale/libmysqlauth.so
      2018-06-03 12:33:55   notice : Loaded module CDC: V1.0.0 from /usr/lib/x86_64-linux-gnu/maxscale/libcdc.so
      2018-06-03 12:33:55   notice : Loaded module CDCPlainAuth: V1.1.0 from /usr/lib/x86_64-linux-gnu/maxscale/libcdcplainauth.so
      2018-06-03 12:33:55   warning: Protocol module 'mysqlclient' has been deprecated, use 'mariadbclient' instead.
      2018-06-03 12:33:55   notice : Monitor 'MariaDB-Monitor' is missing the 'journal_max_age' parameter, using default value of 28800 seconds.
      2018-06-03 12:33:55   notice : Monitor 'MariaDB-Monitor' is missing the 'script_timeout' parameter, using default value of 90 seconds.
      2018-06-03 12:33:55   notice : No query classifier specified, using default 'qc_sqlite'.
      2018-06-03 12:33:55   notice : Loaded module qc_sqlite: V1.0.0 from /usr/lib/x86_64-linux-gnu/maxscale/libqc_sqlite.so
      2018-06-03 12:33:55   notice : Encrypted password file /var/lib/maxscale/.secrets can't be accessed (No such file or directory). Password encryption is not used.
      2018-06-03 12:33:55   notice : Starting a total of 5 services...
      2018-06-03 12:33:55   notice : [binlogrouter] replication: storing binlog files in 'flat' mode
      2018-06-03 12:33:55   notice : [binlogrouter] replication: Service has MariaDB GTID otion set to ON
      2018-06-03 12:33:55   warning: [binlogrouter] replication: master.ini file not found in /var/lib/maxscale. Master registration cannot be started. Configure with CHANGE MASTER TO ...
      2018-06-03 12:33:55   notice : [MySQLAuth] [replication] No users were loaded but 'inject_service_user' is enabled. Enabling service credentials for authentication until database users have been successfully loaded.
      2018-06-03 12:33:55   notice : Listening for connections at [::]:5308 with protocol MySQL
      2018-06-03 12:33:55   notice : Service 'replication' started (1/5)
      2018-06-03 12:33:55   notice : [avrorouter] [CDC-Service] Using configuration options from service 'replication'.
      2018-06-03 12:33:55   warning: [avrorouter] Router options for Avrorouter are deprecated. Please convert them to parameters.
      2018-06-03 12:33:55   notice : [avrorouter] [CDC-Service] Reading MySQL binlog files from /var/lib/maxscale
      2018-06-03 12:33:55   notice : [avrorouter] [CDC-Service] Avro files stored at: /var/lib/maxscale
      2018-06-03 12:33:55   notice : [avrorouter] [CDC-Service] First binlog is: binlog.000001
      2018-06-03 12:33:55   notice : [avrorouter] [CDC-Service] Using existing GTID index: //var/lib/maxscale/avro.index
      2018-06-03 12:33:55   notice : [avrorouter] [CDC-Service] Loading stored conversion state: /var/lib/maxscale/avro-conversion.ini
      2018-06-03 12:33:55   notice : [avrorouter] Loaded stored binary log conversion state: File: [binlog.000001] Position: [4] GTID: [0-0-0:0]
      2018-06-03 12:33:55   warning: [CDC-Service] Failed to load users for listener 'CDC-Listener', authentication might not work.
      2018-06-03 12:33:55   notice : Listening for connections at [::]:4001 with protocol CDC
      2018-06-03 12:33:55   notice : Service 'CDC-Service' started (2/5)
      2018-06-03 12:33:55   notice : [MySQLAuth] [Read-Only-Service] Loaded 8 MySQL users for listener Read-Only-Listener.
      2018-06-03 12:33:55   notice : Listening for connections at [::]:4008 with protocol MySQL
      2018-06-03 12:33:55   notice : Service 'Read-Only-Service' started (3/5)
      2018-06-03 12:33:55   notice : Loaded server states from journal file: /var/lib/maxscale/MariaDB-Monitor/monitor.dat
      2018-06-03 12:33:55   notice : [MySQLAuth] [Read-Write-Service] Loaded 8 MySQL users for listener Read-Write-Listener.
      2018-06-03 12:33:55   notice : Listening for connections at [::]:4006 with protocol MySQL
      2018-06-03 12:33:55   notice : Service 'Read-Write-Service' started (4/5)
      2018-06-03 12:33:55   notice : Listening for connections at [/tmp/maxadmin.sock]:0 with protocol MaxScale Admin
      2018-06-03 12:33:55   notice : Service 'MaxAdmin-Service' started (5/5)
      2018-06-03 12:33:55   notice : Started REST API on [127.0.0.1]:8989
      2018-06-03 12:33:55   notice : MaxScale started with 1 worker threads, each with a stack size of 8388608 bytes.
      2018-06-03 12:33:55   notice : [MySQLAuth] [replication] No users were loaded but 'inject_service_user' is enabled. Enabling service credentials for authentication until database users have been successfully loaded.
      2018-06-03 12:33:55   notice : Started MaxScale log flusher.
      2018-06-03 12:36:29   notice : [binlogrouter] replication: Slave ::ffff:192.168.56.102, server id 0, disconnected after 0 seconds. 5 SQL commands
      

      Also, I have executed both "SET @master_binlog_checksum = @@global.binlog_checksum" and "SELECT @master_binlog_checksum" from both mysql and MaxScale (mysql -h 192.168.56.102 -P6004 -u myuser -p mypwd) and it shows identical output. like below:

      -------------------------

      @master_binlog_checksum

      -------------------------

      NONE

      -------------------------

      It would be great if you cold help me in this regard.

        Attachments

          Activity

            People

            Assignee:
            markus makela markus makela
            Reporter:
            khorshedalam Khorshed Alam
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: