Can we output content of a mariaDB table into JSON using the CONNECT Storage Engine ? MariaDB and MySQL are not currently JSON friendly databases. The usage of JSON in MySQL is almost inexistent with the excetion of the explain JSON output and of MariaDB dynamic column dump. There also exist a few udf (in [...]
Years ago when I worked for the MySQL Support organization at the original MySQL AB, we spoke about MySQL Support as insurance and focused on a value proposition similar to that of car insurance. For your car to be fully covered, you must purchase car insurance before the incident happens – in fact most places around the world require automobile insurance. Similarly with many organizations, any production-use technology might be mandated to have its own insurance in the way of 24/7 support.
I think however this is a very one-sided view that does not capture the full value (and ROI) that a MySQL Support contract with Percona provides. Let’s look at the different dimensions of value it provides based on the different support cases we have received throughout the years.
Reduce and Prevent …
[Read more]A Quick Security Update
Starting with MySQL 5.7.6, the following functions are now deprecated:
DES (Data Encryption Standard) is known to be less secure and slower than other available encryption methods. There are also many …
[Read more]Recently Todd Farmer shared an interesting story about the mysql command line prompt in MySQL 5.7: how it was changed to provide more context and why the change was finally reverted. This made me think that after using the command line client for MongoDB for awhile, I would love seeing a much more modern mysql shell prompt. Here are a few examples of what a modern command line client can do.
Add dynamic information to the prompt
If you use replication with MongoDB, you have probably noticed a nice feature of the prompt: it is replication aware. What I mean is that for a standalone instance, the prompt is simply:
>
When you configure this instance to be the primary of a replica set named RS, the prompt automatically becomes:
RS:PRIMARY>
and for secondaries, you will see:
…[Read more]
Everything seemed complete after configuring my standalone MySQL instance to a LAMP
installation, but last night I started playing with the image
files. It turns out that I failed to install the
php-gd library.
There’s very little feedback when you try to troubleshoot why you
can’t read an image. In fact, the error message for reading the
BLOB from MySQL was only available on the local
Firefox browser:
The image "http://localhost/ConvertMySQLBlobToImage.php" cannot be displayed because it contains errors.
|
The fix requires root to install the
php-gd library with the yum utility:
yum install php-gd |
You’ll need to answer …
[Read more]
Few months ago, when MySQL Engineering Team moved MySQL Server
sources to GitHub I found it would be waste of time to manually
copy all scripts which I use to regularly and automatically build
and test all versions, needed for verifying bug reports. I run
these scripts on 3 machines at least. So I started my own GitHub
project, called mysql-scripts
Now this project contains four scripts. First one is
build.sh which I use for building. By default it
checks out MySQL Server sources, builds them in directory
$HOME/src/mysql-VERSION, then installs to
$HOME/build/mysql-VERSION But all configuration is
settable. For example, now I regularly build Percona Server with single command `build.sh -g …
The mysql> command-line prompt is iconic, shown
in countless documentation pages, forum posts, tutorials and
manuals. It’s immediately identifiable – one look, and you
immediately know the context in which commands are being
executed. So it’s only with good reason that we would consider
changing the prompt value to something else, and Daniël van Eeden
provided a compelling suggestion to modify this to
provide user, host and database context. Because the mysql prompt
is user-configurable, this is easy to do dynamically:
mysql> prompt something> PROMPT set to 'something> ' something> select 1; +---+ | 1 | +---+ | 1 | +---+ 1 row in set (0.00 sec) something>
Using the special character …
[Read more](この記事は InnoDB Full-Text : N-gram Parser を Yoshiaki Yamasaki が翻訳したものです)
デフォルトのInnoDB全文検索パーサー(構文解析プログラム)は、空白がトークン(語句)もしくは単語の区切りとなっているラテン語ベースの言語に対して理想的です。しかし、個々の単語の区切り文字が存在せず、それぞれの単語は複数の文字で構成できる中国語・日本語・韓国語(CJK)のような言語には向いていません。そこで、私たちは異なった方法で単語/トークンを識別する方法を必要とします。
私は今 …
While I try to keep things simple, sometimes eliminating options
and explanations comes back to haunt me. After posting how to open a Fedora firewall port for a LAMP
stack, somebody got trapped by my instructions for installing MySQL on
Fedora. They got stuck because they had the following setting
in their /etc/my.cnf file:
bind-address=localhost.localdomain |
I’d suggested using that bind-address value for a
DHCP VMware Fedora installation in Step #7. I was trying to
create an example for an isolated testing instance, which is why
I set the bind-address to a
localhost.localdomain value. They raised the
following error when they …
While we always want better performance and more and larger features for MySQL, those cannot just “magically appear” from one version to another, requiring deep architecture changes and lots of lines of code. However, there are sometimes smaller features and fixes that could be implemented by an intern or an external contributor, mainly at SQL layer, and that could make the MySQL ecosystem friendlier to newbies and non-experts. Making a piece of software easier to use is sometimes overlooked, but it is incredibly important -not everybody using MySQL is a DBA, and the more people adopting it, more people will be able to live from it, both upstream and as third party providers.
Here it is my own personal list of fixes for EXPLAIN messages. If you are an experienced MySQL user you are probably aware of their meaning, but that doesn’t solve the problem for beginners. The reason why I am writing a blog post is to gather …
[Read more]