Showing entries 1 to 10 of 172
10 Older Entries »
Displaying posts with tag: 8.0 (reset)
MySQL Invisible Column: part III

We recently saw how the new Invisible Column feature works in MySQL since 8.0.23 and how we can use it as a Primary Key for InnoDB tables when no Primary Key was defined.

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 !

Asynchronous Replication

When using “traditional” replication, if you modify a record (UPDATE and 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 global, …

[Read more]
MySQL Invisible Column: part II

This article is the second part of the series related to MySQL Invisible Column started here.

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-oraganized 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]
MySQL Invisible Column – part I

With the new MySQL 8.0.23, something very interesting has been released: Invisible Column.

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 INVISIBLE keyword in the Extra column:

desc table1; …
[Read more]
MySQL 8.0.23: thank you for the contributions

The expected version 8.0.23 of MySQL has been released yesterday \o/

For new features and resolved bugs, I recommend Geir‘s traditional blog post announcing the release.

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]
Deploying Drupal in OCI using MDS: the easy way !

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]
Deploy Magento with MySQL Database Service in OCI

Magento is a very popular e-commerce platform using MySQL as backend.

The latest version is compatible with MySQL 8.0, however it’s not that easy to deploy. Magento has multiple dependencies like Elasticsearch for example. Additionally, the Open Source version seems to require Highly Technical knowledge to be deployed correctly.

If you would like to test it with MySQL Database Service (MDS) in OCI, you can find a stack file on this GitHub repository that easily deploys everything you need.

After applying the Stack in OCI’s Resource Manager, you have a brand new Magento ready to use !

Let’s see this in action:

As you could see this is very easy. Enjoy MySQL Database Service on OCI and I’m always please to …

[Read more]
Using MySQL Workbench with MySQL Database Service

Recently (earlier today), I blogged about how to use PHPMyAdmin with a MDS instance. I also showed at the end of the video that it’s possible to open MySQL Router on the compute instance to connect from anywhere. However this has security risks of course. Therefor, it’s not recommended.

If you want to connect from on-premise to your MDS instance you should use a VPN or a SSH tunnel. Take a look at these previous post:

[Read more]
How to deploy a MySQL Database Service Instance with PHPMyAdmin

I recently received several messages from developers not being comfortable with command line when they need to create schemas, tables, … They were asking me for an easy alternative when testing MDS.

There is a very popular tool in the developer community to manage their databases in MySQL: PHPMyAdmin.

So if you are trying MDS (MySQL Database Service in Oracle Cloud Infrastructure), it’s possible to deploy such instance with a compute instance hosting PHPMyAdmin very easily using OCI’s Resource Manager and a stack (zip file) that you can find here: https://github.com/lefred/oci-phpmyadmin-mds/releases/tag/1.1.0

If you want to try MDS in OCI, you can get free credits using this url: …

[Read more]
MySQL: How many transactions were committed during an interval of time ?

The amount of transactions committed is an important information, but how could you return an accurate value?

This is a question I got from my colleague Ivan, he was challenging with global status values like COM_COMMIT or HANDLER_COMMIT, then checking in innodb_metrics… but this was not accurate.

In fact depending which storage engine you are using, if binary logs are enabled, if you rollback transactions, if you are using auto_commit, etc… all those parameters influence those values.

So the first question was “What metrics or else should we use ?”. In my opinion, the most accurate “counter” for transactions are the GTIDs.

And this is why I created yet another MySQL Shell plugin that does that calculation:

This plugin is available on my GitHub repository …

[Read more]
MySQL 8.0.22: thank you for the contributions

Wooohooo MySQL 8.0.22 has been released today !

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.22 includes contributions from Denis Yarkovoy, Gord Thomson, Andrey Turbanov, Javier Matos Odut, Kan Liyong, Xiaoyu Wang, Daniël van Eeden, Krunal Bauskar, Eric Beuque and Facebook.

Thank you all for your great contributions. MySQL is an Open Source project, GPL, and we accept contributions !

Here is the list of the contributions above:

[Read more]
Showing entries 1 to 10 of 172
10 Older Entries »