I ran into this error today while working with ROLES, bundled privileges for a group of users (a nice addition in MariaDB 10.0):
ERROR 1959 (OP000) Invalid role specification
The manual suggests that this error occurs “if a role that doesn’t exist, or to which the user has not been assigned, is specified”.
However, I ran into a case where the role was created and assigned properly (examine SHOW GRANTS for user in question).
In this case, the problem was just due to a bug that affected remote connections on older versions.
Thus if you encounter this error, check if you’re using a remote connection, and if so, this bug is your problem (assuming you created and assigned the role properly).
If interested in reading more about roles, please refer to:
Hope this helps.
MariaDB 10.1.2 was recently released, and is available for download here:
This is the third alpha release of MariaDB 10.1, so there are still a lot of new changes, functionalities added, defaults changed, and many bugs fixed (I counted 117, which is *way* down from the 637 fixed in 10.1.1). Since it’s alpha, I’ll only cover the major changes and additions, and omit covering general bug fixes (feel free to browse them all here).
To me, these are the highlights of the new features:
- –mysql56-temporal-format option to use the MySQL-5.6 low level formats to store TIME, DATETIME and TIMESTAMP types. (MDEV-5528)
- Support for Spatial Reference systems for the GIS data (MDEV-60), new REF_SYSTEM_ID column attribute can be used to specify Spatial Reference System ID for columns of spatial data types:
create table t1(g GEOMETRY(9,4) REF_SYSTEM_ID=101);
It can be queried via the INFORMATION_SCHEMA.GEOMETRY_COLUMNS table.
- More functions from the OGC standard added (MDEV-4045):
- Per-query variables – see SET STATEMENT (MDEV-5231)
- EXPLAIN FORMAT=JSON (MDEV-6109)
- Scalability fixes (MDEV-7004). Up to 60% higher throughput in sysbench benchmarks on Power8.
- Password validation plugin API (MDEV-6431).
- simple_password_check password validation plugin. It can enforce a minimum password length and guarantee that a password contains at least a specified number of uppercase and lowercase letters, digits, and punctuation characters.
- cracklib_password_check password validation plugin. It only allows passwords that are strong enough to pass CrackLib test. This is the same test that pam_cracklib.so does, installed by default on many Linux distributions.
- The number of rows affected by a slow UPDATE or DELETE is now recorded in the slow query log – see also mysql.slow_log Table. (MDEV-4412)
- GET_LOCK() now supports microseconds in the timeout, no longer rounding fractions to the nearest integer (MDEV-4018)
- domain_id based replication filters – see CHANGE MASTER TO (MDEV-6593)
- Two new Information Schema tables for examining wsrep information, WSREP_MEMBERSHIP and WSREP_STATUS (MDEV-7053)
- innodb_log_compressed_pages is now set to OFF by default.
- Two new status variables, Innodb_secondary_index_triggered_cluster_reads and Innodb_secondary_index_triggered_cluster_reads_avoided to track the effectiveness of the Facebook Prefix Index Queries Optimization (MDEV-6929)
- Default size of query_alloc_block_size changed from 8192 to 16384 and query_prealloc_size from 8192 to 24576 to avoid the need for simple queries with one join to call my_malloc.
- Other Webscale patches (MDEV-6039) <-- nice detailed list here, but too many to list in this post
- Out parameters in PREPARE were removed, as it was decided to rather implement the feature in a standard way.
You can read more about the 10.1.2 release here:
And if interested, you can review the full list of changes in 10.1.2 (changelogs) here:
Hope this helps.
MariaDB 10.0.15 was recently released, and is available for download here:
This is the sixth GA release of MariaDB 10.0, and 16th overall release of MariaDB 10.0.
This release has an important InnoDB/XtraDB fix, a new addition, security enhancements (and improvement) – all related to yaSSL, so be sure to check out these fixes if you’re running MariaDB 10.0, and not up to 10.0.15 yet. (MariaDB 10.0 is the current stable series of MariaDB. It is an evolution of the MariaDB 5.5 with several entirely new features not found anywhere else and with backported and reimplemented features from MySQL 5.6.)
Here are the main items of note:
- This release fixes a serious bug in InnoDB and XtraDB that sometimes could cause a hard lock up of the server (MDEV-7026)
- This is the first release that includes Mroonga full-text search storage engine.
- When compiled with OpenSSL, MariaDB now supports TLSv1.2 protocol. Limit it to TLSv1.2 ciphers only with –ssl_cipher=TLSv1.2. Limit it to SSLv3 ciphers with –ssl-cipher=SSLv3. RPM and DEB packages from MariaDB.org are built with OpenSSL, others (for Windows and generic Linux) are built with yaSSL.
- Fixes for the following security vulnerabilities:
- Bundled PCRE is upgraded to 8.36
- InnoDB upgraded to 5.6.21
- XtraDB upgraded to 5.6.21-70.0
- TokuDB upgraded to 7.5.3
- SphinxSE upgraded to 2.2.6
- Updates to the CONNECT handler including:
- We now offer openSUSE repos, see the repository configuration tool for details on how to use it.
Given the severe InnoDB/XtraDB bug, if you’re running a prior MariaDB 10.0 version, I’d recommend upgrading (assuming you’re using InnoDB). Likewise, if you’re using SSL. And then there were a number of fixes to other fixes for TokuDB, CONNECT, and Sphinx, so if you’re using those technologies, you may want to consider upgrading as well.
You can read more about the 10.0.15 release here:
And if interested, you can review the full list of changes in 10.0.15 (changelogs) here:
Hope this helps.
MySQL 5.6.22 was recently released (it is the latest MySQL 5.6, is GA), and is available for download here.
For this release, there is 1 “Security Note”, 2 “Functionality Changed”, and 5 “Compilation Notes”, all benign, but let me address them:
- Security Note: The linked OpenSSL library for the MySQL Commercial Server has been updated from version 1.0.1h to version 1.0.1j. Issues fixed in the new version are described at http://www.openssl.org/news/vulnerabilities.html.
- Functionality Changed: Replication: The variable binlogging_impossible_mode has been renamed binlog_error_action. binlogging_impossible_mode is now deprecated. (Bug #19507567)
- Functionality Changed: Security: yaSSL was upgraded to version 2.3.5. (Bug #19695101)
- Compilation Notes: These are all rather minor, so I’ll spare the full entries here. However, if you build MySQL from source, it would be worth several minutes to read the 5 notes in the changelogs.
In addition to those, there were 46 other bug fixes:
- 17 InnoDB
- 9 Replication
- 19 Miscellaneous
- 1 Partitioning
The highlights for me are 6 of the InnoDB bugs, as 2 were regression bugs (crashing/corruption), 2 potentially corruption causing, another crashing, and 1 halting:
- InnoDB: An ALTER TABLE operation raised an assertion. When a foreign key object was removed from the dictionary cache, an incorrect foreign key object was removed from the rb-tree. (Bug #19908343) References: This bug is a regression of Bug #18806829.
- InnoDB: Pages with a checksum value of zero were incorrectly treated as empty pages. A page should only be considered empty if its checksum value and LSN field values are zero. (Bug #19500258, Bug #73689) References: This bug is a regression of Bug #17335427.
- InnoDB: The dict_set_corrupted() function attempted to update the clustered index of the SYS_INDEXES data dictionary table incorrectly. (Bug #19584379).
- InnoDB: The InnoDB data dictionary was not updated when a ALTER TABLE … CHANGE COLUMN operation changed the case of the column name. (Bug #19465984).
- InnoDB: A memory access violation caused fts_optimize_thread and mysqld to terminate. (Bug #19314480).
- InnoDB: A procedure, called from a function to perform an operation on a temporary table, caused the server to halt/stall. (Bug #19306524)
So while there were no major changes, those 6 InnoDB bugs (2 being regression bugs) are definitely of concern, so I’d be sure to review these to see if you’re running an affected version, and consider upgrading if so.
And with the yaSSL updates, if you use SSL connections, you may want to consider upgrading as well.
The full 5.6.22 changelogs can be viewed here (which has more details about all of the bugs listed above):
Hope this helps. 🙂
MariaDB 5.5.41 was recently released (it is the latest MariaDB 5.5), and is available for download here:
This is a maintenance release, and so there were not too many changes, *but* please take notice as there are 2 very important bug fixes:
Thus if you’re running pre-5.5.41 and have encountered, or even if you may be prone to, either bug #7026 or #7100, you should plan to upgrade.
If interested, the official MariaDB 5.5.41 release notes are here:
And the full list of fixed bugs and changes in MariaDB 5.5.41 can be found here:
Hope this helps.
MySQL 5.5.41 was recently released (it is the latest MySQL 5.5, is GA), and is available for download here:
< Forgive me for the flurry of my latest release "Overview and Highlights" that will follow, as I had a serious-at-the-time health issue that delayed me for about a month. Back on track now though. :) >
This release, similar to the last 5.5 release, is mostly uneventful.
There was only 1 “Functionality Added or Changed” bugs this time, and 14 bugs overall fixed.
Out of the 14 bugs, there were 6 InnoDB bugs, and 2 replication bugs, all of which seemed rather minor or obscure. The one worth noting is the “Functionality Added or Changed” item, which was:
- yaSSL was upgraded to version 2.3.5. (Bug #19695101)
With the recent yaSSL issues, if you use SSL certificates, you may want to consider upgrading to ensure you’re using the latest yaSSL.
Lastly, I should note there were some CMake notes, so if you compile MySQL yourself and use CMAKE, please see the full 5.5.41 changelogs.
For reference, the full 5.5.41 changelog can be viewed here:
Hope this helps.
MariaDB has announced that MaxScale is now GA.
“MaxScale is an open-source, database-centric proxy that works with MariaDB Enterprise, MariaDB 10 and Oracle MySQL®. Its pluggable architecture is designed to increase flexibility and aid in customization as well as a lightweight, high-speed networking core designed to facilitate throughput.
MaxScale simplifies the process of growth by isolating the application from scaling at the database level. This allows scaling databases while improving DBA productivity and developer agility. Additionally, MariaDB MaxScale provides continuity to applications during database failover, upgrades and faster rollout of new database features – all of which improves your end customer’s experience. Now, you can stay competitive and create new revenue generating services with MariaDB MaxScale’s flexible plugin architecture.”
(I quoted that from the email release, fwiw.)
- MariaDB and MySQL Client and Server protocols
- MariaDB Galera and MySQL replication cluster monitoring
- Connection and Statement based load balancing
- Query Performance Logging
- Query Statement Modification based on regular expressions
- Query Duplication to another database, storage engine or application
- and more
Upcoming MaxScale Webinar (January 15th):
Nice Blog on Read Write Splitting and MaxScale (by Vilho Raatikka):