Sunday, 22 June 2025

The instance '****.**.**:3306' cannot be added to an InnoDB cluster because it has asynchronous (source-replica) replication channel(s) configured. MySQL InnoDB Cluster

  Error

  MySQL  JS > dba.checkInstanceConfiguration("root@192.*.*.*")

 NOTE: Found unexpected replication channel '' at ****.**.**:3306:3306

WARNING: The instance '****.**.**:3306' cannot be added to an InnoDB cluster because 

it has asynchronous (source-replica) replication channel(s) configured. MySQL InnoDB Cluster 

does not support manually configured channels as they are not managed using the AdminAPI (e.g. when PRIMARY moves to another member)

which may cause cause replication to break or even create split-brain scenarios (data loss).

Solution: 

         mysql> STOP REPLICA;

mysql> RESET REPLICA  ALL;

RE-execute : 

           MySQL  JS > dba.checkInstanceConfiguration("root@192.168.94.133")

A replica with the same server_uuid/server_id as this replica has connected to the source

 Error: 

 Last_IO_Error: Got fatal error 1236 from source when reading data from binary log: 

 'A replica with the same server_uuid/server_id as this replica has connected to the source;

 the first event 'ON.000014' at 277, the last event read from './ON.000014' at 479, the last byte read from 

 './ON.000014' at 479.'


 Solution: 

      - Stop mysql service 

 [root@node02 ~]# systemctl stop mysqld

      - Go to mysql server database directory and take the backup 

 [root@node02 mysql]# pwd

       /var/lib/mysql

  [root@node02 mysql]# mv auto.cnf auto.cnf_bkp

  [root@node02 mysql]#

  - Start mysqld service 

 [root@node02 ~]# systemctl start  mysqld

Thursday, 5 June 2025

Upgrade MySQL Commercial Edition from 8.4.5 to 9.3.0 on Oracle Linux 8.0

 

Topic: Upgrade MySQL Commercial Edition from 8.4.5 to 9.3.0 on Oracle Linux 8.0 

 

Upgrade in MySQL generally refers to updating the MySQL Cluster (Server) to a newer version, either a minor or major release, to benefit from bug fixes, new features, and performance enhancements. It also involves using the mysql_upgrade script to ensure your database schemas are compatible with the updated server.

In MySQL, the first two numbers of the version number represent the major version, while the last number indicates the minor version. A major version bump usually signifies incompatible changes or a new major feature set, while a minor version update typically introduces new features or bug fixes while maintaining backward compatibility.

 

Implementation Diagram:

 

 

Infrastructure Diagram:

OS Details

Host Name

Database Version

ORACLE_HOME

RHEL release 8.10 (Ootpa)

mysql-se.example.com

8.4.5

/var/lib/mysql

 

OS Details

Host Name

Database Version

ORACLE_HOME

RHEL release 8.10 (Ootpa)

mysql-se.exampl.com

9.3.0

/var/lib/mysql

 

In this QuickStart, we learn how to:

  • Check the current version of MySQL
  • Check the backup status
  • Check the MySQL edition upgrade matrix
  • Download and stage the new version of MySQL
  • Install MySQL shell from the new binaries
  • Perform the Pre-check using MySQL Shell
  • Set the DNF repo for the new MySQL version rpm
  • stop the MySQL service
  • Upgrade and install the new version mysql using DNF
  • start the MySQL service
  • Connect to the MySQL cluster and validate the version
  • Validation

 

Step 01: Check the current version of MySQL

[mysql@mysql-se ~]$ mysql --version

Step 02: Check the backup status

-          Check full backup status. If needed, then take a full backup of the MySQL cluster

 

Step 03: Check the MySQL commercial edition upgrade path

 

 

 

Step 04: Download and stage the new version of MySQL

 

[root@mysql-se tmp]# pwd

/tmp

[root@mysql-se tmp]# ls -ltr *.tar

-rw-r--r--. 1 root root 817848320 Jun  5 13:12 mysql-enterprise-9.3.0_el8_x86_64_bundle.tar

[root@mysql-se tmp]#

 

Step 05: Install MySQL shell from the new binaries

 

[root@mysql-se mysql-9.3.0]# pwd

/tmp/mysql-9.3.0

[root@mysql-se mysql-9.3.0]# ls -ltr *shell*

-rw-r--r--. 1 7155 31415 119818132 Mar 19 08:02 mysql-shell-commercial-9.3.0-1.1.el8.x86_64.rpm

[root@mysql-se mysql-9.3.0]#

[root@mysql-se mysql-9.3.0]# rpm -ivh mysql-shell-commercial-9.3.0-1.1.el8.x86_64.rpm

 

[root@mysql-se mysql-9.3.0]# mysqlsh --version

 

Step 06: Perform the Pre-check using MySQL Shell

 

 


INFORMATION: The Above output shows one warning seems it is deployment environment that’s why some parameter not set properly. Now we are good to proceed the upgrade

 

 


Step 07: Set the DNF repo for the new MySQL version rpm

 

-          Before setting up the Mysql repos read the readme.txt. in readme file you will get below command

-           

[root@mysql-se mysql-9.3.0]# sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023

 

[root@mysql-se mysql-9.3.0]# yum-config-manager --add file:///tmp/mysql-9.3.0

Adding repo from: file:///tmp/mysql-9.3.0

[root@mysql-se mysql-9.3.0]#

 

Step 08: stop the MySQL service

 

[root@mysql-se mysql-9.3.0]# systemctl stop mysqld

[root@mysql-se mysql-9.3.0]# systemctl status mysqld

 

Step 09: Upgrade and install the new version mysql using DNF

 

[root@mysql-se mysql-9.3.0]# dnf upgrade  mysql-commercial-server

 

 


INFORMATION: If you get error sudo: yum-config-manager: command not found means you need to install dnf install yum-utils.

 

 


Step 10: start the MySQL service

[root@mysql-se mysql-9.3.0]# systemctl daemon-reload

[root@mysql-se mysql-9.3.0]# systemctl start  mysqld

[root@mysql-se mysql-9.3.0]# systemctl status mysqld

 

 

Step 11: Connect to the MySQL cluster and validate the version

 

[root@mysql-se mysql-9.3.0]# mysql --version

mysql  Ver 9.3.0-commercial for Linux on x86_64 (MySQL Enterprise Server - Commercial)

[root@mysql-se mysql-9.3.0]#

 

Step 12: Validation

 

[root@mysql-se mysql-9.3.0]# mysql -u root -p

 

The instance '****.**.**:3306' cannot be added to an InnoDB cluster because it has asynchronous (source-replica) replication channel(s) configured. MySQL InnoDB Cluster

  Error :    MySQL  JS > dba.checkInstanceConfiguration("root@192.*.*.*")  NOTE: Found unexpected replication channel '...