MySQL is one of the world’s most popular and widely used relational database management systems (RDBMS). Developed in 1995 by ...
The post How to Install MySQL on AlmaLinux 10 appeared first on RoseHosting.
MySQL is one of the world’s most popular and widely used relational database management systems (RDBMS). Developed in 1995 by ...
The post How to Install MySQL on AlmaLinux 10 appeared first on RoseHosting.
I thought I’d share a quick addition to the MySQL Router bootstrap command and hope it helps others, as always.
First of all, you all know the MySQL Router documentation, and have probably looked into a specific option when executing commands, but I’ve found one quite handy that allows me to add in certain parametrization for my routers: –conf-set-option
It’s simple to use, so I’ll just share what I used as a reference and let you play away.
mysqlrouter --bootstrap icadmin:'MyP4ssword!'@node01:3306 \
--name="router_node1" --account=routerAdmin \
--conf-base-port=3306 --report-host=rtnode01 --conf-use-gr-notifications \ …
[Read more]
So, as you’ve noticed, I’ve been playing around with MySQL Router v8.4.3 and read-write splitting, and now I’ve come across some issues that my environment has generated and I’ve opened some bugs against the fiend:
Bug 116950 – Router Read-Write splitting config causes PHP RSET_HEADER error
Bug 116951 – mysqlrouter Error parsing stats_updates_frequency errors
Bug 116952 – Router w/ RW split causes ERROR: 4501 if sql script contains comments lines (“– “)
(Yup, I prepared each bug description, repeatable tasks and suggested fix …
[Read more]After installing & configuring Dolphie, let’s take a look into how we can “re-record not fadeaway” and avoid using a VHS tape.
One of the coolest features is being able to go back in time with Dolphie and analyze what was happening at a specific moment.
This feature requires recording so we can replay.
Setting Dolphie up for recording mode.
I’m really just going to share the links to the the github site and organize my steps so someone else might want to rinse’n’repeat or “replay”. I’m just a mere messenger.
It works via the Daemon mode. …
[Read more]I have been looking into “dolphie” lately, and have to say, “thanks Charles!”. I actually first saw dolphie via Lefred’s MySQL Belgian Days and installed it just after looking into the slidedeck. But never got around to looking further… until now.
We can use so many different observability (o11y?) tools to get notifications, alerts, react, generate reports, etc. from so many different companies, using agents, proxies, repositories, and so on and so forth. And after exchanging experiences with dolphie’s author himself, Charles, the idea here is to go that little bit further in …
[Read more]Different ways to get the status:
mysqlsh --login-path=icadmin -h$MYROUTER1 -- cluster status
mysqlsh --login-path=icadmin -h${HOSTNAME} --redirect-primary -- cluster status
mysqlsh icadmin:'P4ssw0rD'@db01:3306 -- cluster status --extended=0
mysqlsh icadmin@$MYROUTER1:3306 -- cluster status --extended=1
watch -n 5 “mysqlsh --login-path=icadmin -h$MYROUTER1 -- cluster status”
Set the Primary Instance (switching):
mysqlsh --login-path=icadmin -h${HOSTNAME} --redirect-primary -- cluster set_primary_instance "db01"
Obtaining MySQL InnoDB Cluster basics:
select cluster_id, cluster_name, description, cluster_type, primary_mode, clusterset_id from mysql_innodb_cluster_metadata.clusters;
Members of our cluster:
select * from performance_schema.replication_group_members order by MEMBER_ROLE;
Local & Remote Trans Q’s:
…[Read more]
I thought I’d share some quick intro steps into how we can monitor the MySQL Router.
This can be useful if we’re observing intermittent outages, network packet drops or you’re just not sure if everythings fine in your MySQL InnoDB Cluster.
My scenario: The drupal servers are connecting and sometimes the users are getting connection errors. I don’0t see anything at MySQL server level of any instance nor cluster problem. Let’s review the Routers.
On all MySQL Router servers, double check the config file for the log location and also the log level. At /etc/mysqlrouter/mysqlrouter.conf (default rpm install location):
[DEFAULT]
name=myrouter
user=mysqlrouter
..
..
logging_folder=/routerlog/log
..
[logger]
level=DEBUG
#level=INFO
I’ve changed my logger level to DEBUG which will give you a lot more info about connections and counters so you can see what’s happening …
[Read more]TL;DR: Make sure to run “SET persist_only disabled_storage_engines=’MyISAM’, persist sql_generate_invisible_primary_key=ON;” on all instances and restart each one in your MySQL InnoDB Cluster.
Ok, what does “safe from naughtiness” mean?:
– Anyone creating tables that aren’t InnoDB, as this doesn’t make
sense, after all, it is an “InnoDB” cluster.
– Making sure all tables have a Primary Key (invisible or
not).
– Making sure that my (invisible) primary keys are visible to the
cluster as it will rightfully complain if they aren’t!
This basically means that once you’ve got it all up and running you won’t run into those horrible situations whereby someone, somewhere, creates a MyISAM table that didn’t have a Primary Key and thus leave you with a broken cluster.
Eg.
MySQL rtnode-01:3306 ssl JS > vlc.status()
{
"clusterName": "VLC",
"clusterRole": "PRIMARY", …
[Read more]
Now this is far from being any observability manual for your InnoDB Cluster and let alone go into everything MySQL Shell API Admin, or the collectDiagnostics utility. You can also use the default javascript commands that we all know and love via dba.getCluster() and so on, but here’s a different take.
I just want to share something I’ve been playing with to pull out some key info from mycluster. Hope it helps someone else out there.
General setup:
select cluster_id, cluster_name, description, cluster_type, primary_mode, clusterset_id
from mysql_innodb_cluster_metadata.clusters;
Members of our cluster:
select * from …
[Read more]
Back again, now with MySQL installs. And this means using the MySQL repository this time around.
I’ve been installing and configuring InnoDB Clusters and ClusterSets and thinking about the Ansible and Terraform users amongst us, maybe one-liners might help someone out there.
So, what about if I share how to install the MySQL repo, install the MySQL instance, create an InnoDB Cluster, add a MySQL Router, create a ClusterSet, make sure the Router is ClusterSet-aware, and then test it out. And all via one-liners.
First up, obrigado Miguel for https://github.com/miguelaraujo/ClusterSet-Demo.
To simplify the command execution sequence, these sections aim to help summarize the technical commands required to create the whole platform. And on a default path & port configuration, to ease operational deployments for all those 000’s of installs …
[Read more]