MySQL-Shell has had a set of “Util” object functions for almost a year as of this post. It is this added functionality that negates any reason someone would still need to use the old mysqldump client. It (mysqldump) helped the MySQL Community for a long, long time. It also introduced a large amount of garbage and messiness in… Read More »
This post summarize the steps on how to deploy Open VPN and configure your VCN to use it.
So, in OCI, we have already some MDS & Compute instances deployed, this is how the dashboard looks like:
We can start by deploying our OpenVPN instance using OCI’s Marketplace:
And you follow the wizard by adding your administrator username and password:
An important step is to use the existing VCN and place the OpenVPN in the public subnet:
And you create the instance:
This blog post was first published on FoggyKitchen.com.
Hello fine gourmets, for my first dish in the FoggyKitchen.com, I decide to present you how to deploy WordPress on OCI using MySQL Database Service aka MDS.
I wrote some Terraform recipes that you can find on my GitHub repository: oci-wordpress-mds.
In this first post, I will show how easy it’s to deploy directly from OCI’s dashboard using Resource Manager’s stack. I will also share the recent additions.
The first think to do is to download the stack in releases from GitHub:
When the zip file is downloaded locally, you can login in …[Read more]
From MySQL 5.7, we had a Multi-threaded Slave (MTS) Applier
LOGICAL_CLOCK to overcome the
problems of parallel replication within a database.
To further improve the parallelisation mechanism, from MySQL 8 (5.7.22) we have write-set replication, so before going further , lets look at the difference between Logical clock (LC) and Writeset.
Transactions that are part of the same binary log group commit on a master are applied in parallel on a slave. The dependencies between transactions are tracked based on their timestamps to provide additional parallelisation where possible.
Write-set is a mechanism to track independent
transactions that can be executed in parallel in the slave.
Parallelising on write sets has potentially much more parallelism
logical_clock ,since it does not depend …
Query attributes have in a long time been used to add metadata to queries to provide additional context such as where in the application the query was generated. The traditional way to do this is to add a comment at the start of the query with the attributes. Since the MySQL parser ignores the comment, it does not change the semantics of the query, but various tools can extract the comments.
This post looks into the reasons for using query attributes, how it is done using a comment, and the new component for MySQL 8.0.23 that provides native support for query attributes.
Query attributes are also known as query tags.
Why Query Attributes?
At the surface, it may seem that there is no major benefit from having metadata …[Read more]
As I wrote earlier, a good Primary Key is important for InnoDB (storage, IOPS, secondary indexes, memory…) but there is another important domain where a Primary Key is important in MySQL: replication !
When using “traditional” replication, if you modify a record
DELETE), the record(s) to
modify on the replica are identified using indexes, and of course
the Primary Key if any. The hidden global 6-bytes auto generated
by InnoDB primary key is never used as never exposed and as it’s
This post covers why Invisible Column is important for InnoDB Storage Engine.
To start, let me explain briefly how InnoDB deals with Primary Key and why an good primary key is important. And finally, why having a Primary Key is also important.
How does InnoDB Stores Data?
InnoDB stores data in table spaces. The records are stored and sorted using the clustered index (the primary key): they are called index-organized tables.
All secondary indexes also contain the primary key as the right-most column in the index (even if this is not exposed). That means when a secondary …[Read more]
This is the first post dedicated to this new feature, I expect to write a series of 3. This one is the introduction.
Prior to MySQL 8.0.23, all columns of a table were always visible (if you had the privilege to see it). Now, an invisible column can be specified and will be hidden to queries. It can always be accessed if explicitly referenced.
Let’s see how it works:
create table table1 ( id int auto_increment primary key, name varchar(20), age int invisible);
In the table description we can see the
keyword in the Extra column:
desc table1; …[Read more]
The expected version 8.0.23 of MySQL has been released yesterday \o/
Of course, as usual, this release contains contributions from our great Community and let me thanks all the contributors on behalf of the MySQL Team.
MySQL 8.0.23 includes contributions from Daniel Black, Vilnis Termanis, Venkatesh Prasad Venugopal, Daniël van Eeden, Cai Yibo, Kamil Holubick, Shaohua Wang, Krunal Bauskar, Tzachi Zidenberg, Cédric Luthi, Brian Yue, Hope Lee and Facebook.
Thank you all for your great contributions. MySQL is an Open Source project, GPL, …[Read more]
If you plan to deploy a Drupal site to OCI using MySQL Database Service, there is a very easy way to perform that deployment: using OCI’s Resource Manager !
As you know, security is something very important for Oracle in OCI, therefor, exposing the database on the Internet is not allowed.
Even if you are not using OCI, I really recommend you to follow that principle and never expose your database to Internet !
I already cover this in many previous posts. But I also understand that for people not being a sysadmin, this can be complicated the first time.
That’s why, all this can be automated using a stack to deploy in Resource Manager.
The first thing to do when you have your OCI account, it’s to download the stack from GitHub: https://github.com/lefred/oci-drupal-mds
Then in OCI’s dashboard, just …[Read more]