This is tutorial to setup 2 innodb clusters and create
Replication using REPLICATION FILTER to define replication
channel across 2 InnoDB Cluster.
Background
InnoDB Cluster setup is commonly found within a Data Center (DC1)
where the network is good and reliable. Having
another Datacenter for DR purpose, set up of another InnoDB
Cluster with Replication is an example. To allow
MySQL Replication to be successfully created between 2 InnoDB
Clusters, the following items must be considered carefully
:
1. InnoDB Cluster when it is created, there is
mysql_innodb_cluster_metadata schema which stores the state and
information about the 'cluster'. The 2 InnoDB Clusters in 2
DCs are different. The state information within the
'mysql_innodb_cluster_metadata' is different per each of the
InnoDB Cluster. MySQL Replication may bring the data
update to metadata from DC1 …
MySQL Server 8.0 has introduced numerous advancements in an ongoing, release by release basis. This includes features such as Multi-Value Indexes, Provisioning InnoDB Cluster 8.0 members using CLONE, among other things in 8.0.17 …. as well other MySQL enhancements such as the addition of InnoDB ReplicaSets, bootstrapping mysql-router using --account to re-use a current MySQL User for Router… Read More »
Last year, I made the first post in a small series, which aimed
to highlight unique features of Percona Server for MySQL, by
discussing binlog_space_limit
option.
Today, I am going to discuss another important type of log available in MySQL that is enhanced in Percona Server for MySQL – the slow query log. The reason why I am doing this is that although this extension has existed since the very early times of versions 5.1 (over 10 years ago!), many people are still unaware of it, which I see from time to time when working with Support customers.
Default Slow Log Inadequacy
How many times have you been wondering why, whilst reviewing slow query logs, the very same query occasionally runs way slower than usual? There may be many reasons for that, but the standard slow …
[Read more]Amazon RDS for MySQL uses many default values for system variables, but it also sets a few “sys vars” with different values. As with any database, neither product (MySQL) nor provider (AWS) defaults can best suite all use cases. It’s our responsibility to carefully review and set every important system variable. This is tedious and difficult, but I’ve done it for you. Below are are 21 MySQL 5.7 system variables that I recommend changing by creating a new parameter group.
Amazon RDS for MySQL uses many default values for system variables, but it also sets a few “sys vars” with different values. As with any database, neither product (MySQL) nor provider (AWS) defaults can best suite all use cases. It’s our responsibility to carefully review and set every important system variable. This is tedious and difficult, but I’ve done it for you.
Below are are 21 MySQL 5.7 system variables that I recommend changing by creating a new parameter group. This presumes new RDS instances; some of these sys vars cannot be changed easily after provisioning MySQL. This only applies to RDS for MySQL, not Amazon Aurora.
Amazon RDS for MySQL uses many default values for system variables, but it also sets a few “sys vars” with different values. As with any database, neither product (MySQL) nor provider (AWS) defaults can best suite all use cases. It’s our responsibility to carefully review and set every important system variable. This is tedious and difficult, but I’ve done it for you. Below are are 21 MySQL 5.7 system variables that I recommend changing by creating a new parameter group.
In April, when I updated from MySQL 8.0.17 to MySQL 8.0.19, I
found that my Java connection example failed. That’s because of a
change in the JDBC driver, which I blogged about then. Starting yesterday, I
began updating a base Fedora 30 configuration again to MySQL
8.0.20. I wrote a testing program for the Java JDBC file last
time, and when I ran it this time it told me that I didn’t have
the JDBC driver installed, or in the $CLASSPATH
. My
Java diagnostic script, MySQLDriver.java
, returned
the following error message:
Error: Could not find or load main class MySQLDriver
The Java JDBC test program code is in the prior post. It simply loads the user, password, database, host, and port statically for my student …
[Read more]Join Sveta Smirnova, MySQL Engineer at Percona, as she discusses modern solutions for modern database loads.
MySQL is famous for working well in high performing environments. This is the reason why it is the most popular backend for web applications. But our view of what to call high-performance changes over the cycles. Every year we get faster data transfer speed; more devices, connected to the Internet; more users and, as a result, more data.
The challenges MySQL developers have to solve are getting harder over time.
In this session, Sveta will show how use-case scenarios are changing over 25 years of MySQL history. She will show what did MySQL engineers do to keep the product up to date and cover topics such as handling a large number of active connections and high volumes of data as well as how the latest MySQL versions handle increased load better.
After attending this …
[Read more]At Percona Live Online my colleague at Alibaba, Jim Tommaney, presented a study of hash join performance in MySQL and Marwho?iaDB. For some of the queries, the peformance characteristics for MySQL seemed a bit strange, and I decided to look closer into what was going on. As you can read below, I found that the crucial point was the memory usage of hash join in MySQL.
Results presented at Percona Live ONLINE
In Jims presentation, you can see the following graphs for the performance of his query 2.2 on MySQL and Marwho?iaDB:
…
[Read more]After I updated a Fedora 30 instance, I could no longer connect to the MySQL database. An attempt to connect raised the following error:
Error: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
My guess was correct, the mysqld.service
got removed
during the update (a synonym for upgrade). So, I ran the
following command as a sudoer user:
sudo systemctl enable mysqld.service
It creates the following symbolic link:
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service.
That would start the MySQL Daemon (mysqld
) on the
next restart of the OS. However, I didn’t want to restart to have
access to the service. I simply started it with the following
command:
sudo systemctl start mysqld.service
Then, I could connect to the MySQL database. As always, …
[Read more]