HandlerSocket is included with MariaDB and
acts like a simple NoSQL interface to InnoDB, XtraDB and Spider
and I will describe it a bit more in this and a few upcoming
blogs.
So, what is HandlerSocket? Adam Donnison wrote a great blog on how to get started with it, but if you
are developing MariaDB applications using C, C++, PHP or Java
what good does HandlerSocket do you?
HandlerSocket in itself is a MariaDB plugin, of a type that is
not that common as is is a daemon plugin. Adam shows in his blog
how to enable it and install it, so I will not cover that here.
Instead I will describe what it does, and doesn't do.
A daemon plugin is a process that runs "inside" the MariaDB. A
daemon plugin can implement anything really, as long as it is …
To ensure that your MySQL Database works as efficiently as possible, it is important to know how to handle error messages and warnings.
Error messages have three components:
- A MySQL-specific error code, such as 1146
- A SQLSTATE error code. These codes are defined by standard SQL and the ODBC standard.
- A text message that describes the problem
MySQL Server generates a warning when it is not fully able to comply with a request or when an action has possibly unintended side effects. You can display these warnings with the SHOW WARNINGS statement.
To learn about handling error messages and warnings along with other developer topics, consider taking the MySQL for Developers training course.
…[Read more]The unDROP for InnoDB tool can be used to recover corrupt MySQL database. In this post we will show how to repair MySQL database if its files became corrupted and even innodb_force_recovery=6 doesn’t help.
The corruption of InnoDB tablespace may be caused by many reasons. A dying hard drive can write garbage, thus page checksum will be wrong. InnoDB then reports to the error log:
InnoDB: Database page corruption on disk or a failed InnoDB: file read of page 4.
MySQL is well know for poor start-up script. A simple upgrade procedure may end up with two mysqld processes writing to the same tablespace. That leads to the corruption too. Sometimes power reset corrupts not only InnoDB files, but file system becomes unusable for the operating system.
InnoDB …
[Read more]We are glad to announce that the range of supported servers in Devart dbForge products continues expanding. Now dbForge Query Builder for MySQL, v3.2 supports Percona server and still gives you great opportunities in building queries visually.
We are glad to announce that the range of supported servers in Devart dbForge products continues expanding. Now dbForge Query Builder for MySQL, v3.2 supports Percona server and still gives you great opportunities in building queries visually.
Hi Jason,
For Amazon Linux, the user name is ec2-user. For RHEL5, the user name is either root or ec2-user. For Ubuntu, the user name is ubuntu. For Fedora, the user name is either fedora or ec2-user. For SUSE Linux, the user name is root. Otherwise, if ec2-user and root don’t work, check with your AMI provider.
Dear Perl and MySQL community,
I'm pleased to announce the release of DBD::mysql 4.028. This release includes several fixes, per change log:
- Fixed bug in mysql.xs where dbh was being used as error code
- RT #97570: fix wrong salloc free in mysql_st_internal_execute - (Reini Urban, cPanel)
- Fix RT #97625 use-after-free in mysql_dr_error, and #86153 - (Reini Urban, cPanel)
- find mysql.h for MariaDB on Win32 (Graham Ollis)
- Update mysql.pm to work with ipv6 and ipv4 addresses (katyavoid)
I want to thank Reini Urban, Graham Ollis, and Katyavoid for their pull requests and contributions to DBD::mysql!
Please feel free to visit:
And as always:
I recently ran across some TokuDB table corruption, which was not easily identifiable at first, and the error log entry was not too verbose either, so I wanted to share that experience here.
Basically, TokuDB crashed, and then mysqld had problems restarting afterward. Just for reference, the error log had the following in the stack trace:
/usr/lib64/mysql/plugin/ha_tokudb.so(+0x71c48)[0x7fb25be75c48] /usr/lib64/mysql/plugin/ha_tokudb.so(+0x71cbd)[0x7fb25be75cbd] /usr/lib64/mysql/plugin/ha_tokudb.so(_Z29toku_deserialize_bp_from_disk... /usr/lib64/mysql/plugin/ha_tokudb.so(_Z23toku_ftnode_pf_callback... /usr/lib64/mysql/plugin/ha_tokudb.so(_Z30toku_cachetable_pf_pinned_pair.. /usr/lib64/mysql/plugin/ha_tokudb.so(_Z24toku_ft_flush_some_child... /usr/lib64/mysql/plugin/ha_tokudb.so(_Z28toku_ftnode_cleaner_callback... /usr/lib64/mysql/plugin/ha_tokudb.so(_ZN7cleaner11run_cleaner... /usr/lib64/mysql/plugin/ha_tokudb.so(+0xcfeee)[0x7fb25bed3eee] …[Read more]
When setting up TokuDB, you may encounter error 1126.
I’ve seen 2 recent invocations of it, so I wanted to share them both here in case you run into this issue:
MariaDB [(none)]> install soname 'ha_tokudb'; ERROR 1126 (HY000): Can't open shared library '/usr/lib/mysql/plugin/ha_tokudb.so' (errno: 2, undefined symbol: bitmap_free)
MariaDB [(none)]> install soname 'ha_tokudb'; ERROR 1126 (HY000): Can't open shared library 'ha_tokudb.so' (errno: 8, API version for STORAGE ENGINE plugin TokuDB not supported by this version of the server)
The latter is a bit more descriptive, but the former is fairly cryptic.
Given the latter, as you may have guessed it, if you run into either of these, you have the wrong version of ha_tokudb.so in your plugin directory – that is, it is not the correct version for your MariaDB/MySQL.
In both cases, 10.0.11 was used. In the first case, the ha_tokudb.so was from …
[Read more]