Planet MySQL
Planet MySQL -

  • PagerDuty Incident Alerting for ClusterControl
    September 22, 2014 By Severalnines Need to add phone and SMS alerting to ClusterControl? ClusterControl 1.2.8 introduces support for PagerDuty, an alerting service for Ops teams to schedule on-calls and add phone and SMS notifications to IT tools. By integrating PagerDuty with ClusterControl, you can start receiving phone, SMS and email notifications for all important database events as monitored by ClusterControl. Alerts go directly to the right person who can solve the issue. This integration is possible thanks to a new plugin interface, that takes ClusterControl alarms in JSON format and outputs to an external system via plugins. Plugins can be either scripts or executable binaries.   We have built a few example plugins utilizing this plugin interface, available from our Github repository: This plugin forwards the alarm raise/close events to the PagerDuty system This plugin writes the new alarms instantly to the syslog   Plug-in configuration options   Let’s have a quick look at how the plugin works, but feel free to go directly to the PagerDuty setup instructions. A plugins directory can be set through the CMON configuration file (config file entry is plugin_dir), or in the cmon_configuration table found in CMON DB (PLUGIN_DIR key).   When no value is set, the /var/cmon/plugins path will be used. The controller tries to execute the 'executable' scripts/binaries from the directory, while the non-executable files are skipped.   How does the plugin execute?   Whenever an alarm is raised, CMON feeds the alarm event to its standard input (stdin) and all executable scripts or binaries (plugins) under plugin_dir path will be executed. A JSON message will be written to those standard inputs. The expected JSON message syntax is as follows: { // currently only the "alarm" is supported "type": "alarm", // whether it is a new alarm, or an update for an old alarm or an alarm removal "action": "new|update|remove", // a JSON map which contains the alarm details "alarm": { }, // the hostname of the cmon controller (could be used to determine the web-ui url) "cmon_hostname" : "ip-address/or-host-name" }   read more

  • How to start Percona Xtradb Cluster on CentOS 7
    Normally, when we want to start PXC (Percona XtraDB Cluster) on RHEL/CentOS 6 or older then that, we can simply start with init.d script or service command. i.e shell> /etc/init.d/mysql start OR shell> /etc/init.d/mysql bootstrap-pxc shell> service mysql start. But, Continue reading →

  • Downgrading from MySQL 5.6 to MySQL 5.5
    Last week I had to downgrade from MySQL 5.6 to 5.5. The reason for this was that the application used a very old Connector/J and that's incompatible with MySQL 5.6 because the removal of SET OPTION syntax.We're now planning to upgrade Connector/J to be able to upgrade to 5.6 again.There are two methods of downgrading:Dump/Restore with mysqldump. This is easy and reliable, but can take more time.In place (replace binaries, don't change data). This fast, but won't work if file formats have changed.As expected this is documented in the MySQL Reference Manual.I went for the in place method. I expected this to work without many issues as this database was not using the fancy new features like fulltext indexes for InnoDB. All tables used the Antelope format. As both MySQL versions support Antelope and Barracuda this shoud be fine. I don't know why Oracle didn't introduce a new Cheeta format with the introduction of the fulltext indexes.The issues I encountered were:A different innodb_log_file_size default (had to set it in my.cnf) Missing table.  Bug #73634 (Fixed by copying it from another instance)Various changes in the privilege tables. (Fixed by dropping them and running mysql_upgrade)Changes in mysql.user (set plugin to '' when plugin='mysql_native_plugin')Warnings about unknown flag 50. Bug #72371 (Not a Bug)This server didn't user replication, so that wasn't an issue.

  • CIS Oracle MySQL 5.6 Security Benchmark
    I've been working on the CIS security benchmark for Oracle MySQL 5.6. There already is a benchmark document for earlier versions of MySQL.The benchmark document helps you to ensure you have a secure configuration for MySQL.Center for Internet Security (CIS) is a nonprofit organization. The Call For Participation is now open.If you are already a CIS member then you can download the document here. If you don't have an account you can register for free.

  • What part of NoSQL don't you understand?
    In the word "NoSQL", the letters "No" are an acronym so the meaning is "Not Only SQL" rather than "No SQL". True or false? Historically, it's false The first NoSQL product was a classic DBMS which didn't happen to use SQL for a query language, featured in Linux Journal in 1999. Its current web page has a traffic-sign symbol of the word SQL with a bar through it, and a title "NoSQL: a non-SQL RDBMS". For a meetup in June 2009 about "open source, distributed, non-relational databases" the question came up "What's a good name?" Eric Evans of Rackspace suggested NoSQL, a suggestion which he later regretted. In October 2009 Emil Eifrem of NeoTechnology tweeted "I for one have tried REALLY HARD to emphasize that #nosql = Not Only SQL". This appears to be the earliest recorded occurrence of the suggestion. In November 2009 Mr Eifrem declared with satisfaction that the suggestion was "finally catching on". In other words saying "No = Not Only" is an example of a backronym, and specifically it's a class of backronym known as False Acronyms. There are lots of these around -- like the idea that "cabal" stands for seventeenth-century English ministers named Clifford Arlington Buckingham Ashley and Lauderdale, or the myth that "posh" means "port out starboard home". False acronyms might go back at least 1600 years, if the earliest example is the "Jesus Fish". Anyway, backronyms are popular and fun, but this one's false. Currently it's unaccepted Regardless of etymology, NoSQL could currently mean Not Only SQL, if everyone accepted that. So, getting the new interpretation going is a matter of evangelism -- tell everyone that's what it means, and hope that they'll tell their friends. Is that working? I think it has worked among NoSQL insiders, but it's tenuous. If it were generally believed, then the common spelling would be NOSQL rather than NoSQL, and the common pronunciation would be "En O Ess Cue Ell" rather than "No Sequel". Although my sample size is small, I can say that I've rarely seen that spelling and I've rarely heard that pronunciation. And the general public knows that "no-starch" products don't contain more than starch, or that "no-goodniks" are in a class beyond goodness, and that the slogan "No means no!" is a response to proponents of sexual assaults. So, when confronted with the claim that no doesn't mean no, there's inevitable resistance or disgust. But is it true? It would still be okay to promote the idea that "NoSQL" equals "not only SQL" if the term described a group of products that are (a) SQL and (b) something other than SQL. This is where, in a rephrasing of the Wendy's "Where's The Beef?" commercial, the first question is: "Where's the SQL?" Back in 2009 the answers would have been pathetic, but nowadays there are "SQL" query languages that come from NoSQL vendors. CQL would qualify as an SQL product if the bar was low, like saying "If it MOVEs, it's COBOL". Impala would qualify in a more serious way, in fact most of the core-SQL tick-box items are tickable. (I'm believing the manual, I didn't do vicious testing as I did with MySQL.) So, although they're a minority, there seem to be NoSQL vendors who supply SQL. But the second question is: what can these products do that can't be done in SQL? Well, they can supply language extensions, and they can allow the SQL layer to be bypassed. However, so can MySQL or MariaDB -- think of the navigation with HANDLER or direct access with HandlerSocket. In that case MySQL would be a NoSQL DBMS, and if that were true then the term NoSQL wouldn't distinguish the traditional from the non-traditional products, and so it would be a useless word. Therefore pretending that NoSQL means Not Only SQL is wrong in several ways, but insisting it still means No SQL is merciless. Perhaps an honest solution is to stop saying that the word's parts mean anything. It's just a name now, in the same way that "PostgreSQL" is just a name and you've forgotten what's it's a post of.