]]>
]]>

You are here

Feed aggregator

What are the implications of changing repl.commit_order?

Lastest Forum Posts - 4 hours 10 min ago
I'm currently doing some trials of Galera Cluster with Percona 5.6. I've progressed to testing a 2 node cluster on baremetal. With repl.commit_order set to 0 (off) the TPS performance as measured with sysbench is comparable to that of a standalone Percona instance.

When repl.commit_order is set to 3 (the default), TPS performance is around 10% compared to that of a standalone Percona instance.

Sysbench command in each instance is:

: sysbench --test=/usr/share/doc/sysbench/tests/db/oltp.lua --oltp-table-size=5000000 --oltp-tables-count=1 --num-threads=32 --mysql-host=127.0.0.1 --mysql-user=root --mysql-password=**** --mysql-port=3306 --report-interval=1 --max-requests=0 --max-time=0 --mysql-db=sbtest run Firstly: What are the implications of the different commit_order modes?

Secondly: Can anyone suggest any other tweaks that will improve performance?

Row size too large (> 8126)

Lastest Forum Posts - May 25, 2015 - 3:50am
Apologies if this is the wrong thread to put this question, but I feel it fills context as to what we are running.

Basically I am running a 6 node cluster which works beautifully, however I have hit a snag and I am not 100% sure how to resolve it as I have conflicting documentation and ideas.

On my initial import from dump I changed the Engine from myisam to innodb and the import worked with out fault and so does the website reading the data.

Now Fast Forward a few days. A user does an update via the CMS then pops up this error:

Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.

So I start work fixing the error and the most common fix is to use baracuda table space, so off to the none production machine I go.

Fresh install Percona-Server
Add:
innodb_file_format = barracuda
innodb_file_per_table = 1

run mysql_install_db

start mysql

Confirm innodb options:

+--------------------------+-----------+
| Variable_name | Value |
+--------------------------+-----------+
| innodb_file_format | Barracuda |
| innodb_file_format_check | ON |
| innodb_file_format_max | Antelope |
+--------------------------+-----------+

Now I import the database table I am having issues with but I see row_format to dynamic:

ERROR 1118 (42000) at line 25: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.

Okay fine lets try row_format = compact:
That works

But wait, why does docs say use barracuda when you hit this issue , when in fact it does not, seems like its the other way around. I dont know maybe I am missing something here.

The table I am working on has over 600 fields and all are text, tinytext, float, int, varchar. Before you flame me on the varchar chnag to text, i have already tried that. Same result.


MongoDB / TokuMX plugin for LinkBench (Part 1)

Latest MySQL Performance Blog posts - May 22, 2015 - 11:31am

There’s no benchmark for how life’s “supposed” to happen. There is no ideal world for you to wait around for. The world is always just what it is now, it’s up to you how you respond to it.”
― Isaac Marion, Warm Bodies

At one time or another, most of us have heard some version of this question: “Sure the system does fine in the benchmarks, but can it perform in production?”. Benchmark software developers have tried to address this issue in their systems. Features such as configurable workloads and scripting interfaces help to tailor benchmarks to various scenarios, but still require an expert to properly implement them.

A brief overview of LinkBench

The LinkBench benchmark was developed by Tim Armstrong with the guidance and help of a team from Facebook during his internship there. It takes a different approach to the challenge of simulating the real world. LinkBench is designed from the ground up as a replica of the data operations of Facebook’s social graph. By implementing an identical data model along with business methods and workloads directly proportionate the those used in the production social graph, LinkBench can effectively duplicate the data load that will be seen in a production social networking application.

Anatomy of a Social Graph – The Data Model

With this deceptively simple schema, a very robust application can be built.

The nodetable defines an object or end-point within the social graph. Examples of nodes include users, posts, comments, replies, albums, photos, groups, etc… The node’s type attribute is the magic that determines what the node represents and the data attribute contains the object itself (up to 16mb).

The linktable is a generic association or bridge table allowing any two nodes to be associated in a specific way. The secret sauce in this case, is the link_type attribute which represents a specific relationship between any two nodes.  Examples of links include users being friends, a user liking a post of another user, a user that is tagged in another user’s photo and so on.

The third table, counttable is very important for performance and scalability in a social network. It maintains counts of a given link type for a node. Counts are transactionally updated whenever an operation that could potentially alter the count occurs. This small investment in the form of an additional write operation pays off by allowing for quick access to the number of likes, shares, posts, friends and other associations between nodes. Without the count table, the application would have to continuously query the database to retrieve up-to-date count information for various relationships creating a tremendous amount of system load.

The Social Graph Controller

As you can see, the model is very simple. The real magic in the social graph lies in the controller.  LinkBench simulates the controller<->model interface through it’s workload configuration. The included configuration is based on actual production measurements of data payload size and distribution, node and link ‘temperature’ (popularity) and logged operation mix over a period of days.

The Social Graph In Use

Implementation of MongoDB / TokuMX plugin for LinkBench


LinkBench is designed to be customizable and extensible in order to test new persistence technologies and architecture designs.  A new database plugin can be developed by extending the abstract class com.facebook.LinkBench.LinkStore and/or implementing the interface com.facebook.LinkBench.NodeStore.  There is also a combination com.facebook.LinkBench.GraphStore class that can be sub-classed for a combination of both LinkStore and NodeStore.  One disadvantage of the current implementation is that it is up to the plugin developer to follow all of the business requirements of the social graph in the plugin.  This requires careful auditing of each plugin to insure that it has been implemented to specification.  To assure a 1-to-1 parity with the MySQL plugin, I used it as a base and converted the methods to MongoDB one at a time carefully translating each operation.

Along the way, I’ve learned a lot about NoSQL and MongoDB in particular and dispelled a few myths that I had about NoSQL.  I will save that for another article.  Let me talk about a few design decisions I made while implementing the plugin.

  • Compatibility – In order to provide comparisons, the LinkBench plugin maintains compatibility with MongoDB 2.x, TokuMX 2.x, MongoDB 3.x and TokuMXse (RC)
  • TransactionsMVCC concurrency is used in the LinkBench MySQL plugin. In order to maintain this capability I implemented new configuration transaction_support_level which allows the Benchmark to run with no transaction support, MVCC only if supported or simulated transactions using the Two Phase Commit strategy documented on the MongoDB site.
  • Schema –  The relationship between nodes and links does not facilitate the use of embedded documents.   It would be possible to embed count documents under node, however it probably isn’t worth the the extra complexity and network traffic that would be generated.  I opted to leave the schema flat.

In Part 2 I will dive into the LinkBench Java code a bit to show the comparison between the MySQL plugin the MongoDB plugin.

External Links

The post MongoDB / TokuMX plugin for LinkBench (Part 1) appeared first on MySQL Performance Blog.

cannot force sync

Lastest Forum Posts - May 21, 2015 - 8:58pm
I deleted /var/lib/mysql, created new /var/lib/mysql folder owned by mysql.mysql

But it could not get sync via rsync

: 2015-05-22 11:52:08 21304 [Note] WSREP: Quorum results: version = 3, component = PRIMARY, conf_id = 3, members = 2/3 (joined/total), act_id = 2458635, last_appl. = -1, protocols = 0/7/3 (gcs/repl/appl), group UUID = 19bf9b09-ed47-11e4-8005-f75eee435bfc 2015-05-22 11:52:08 21304 [Note] WSREP: Flow-control interval: [28, 28] 2015-05-22 11:52:08 21304 [Note] WSREP: Shifting OPEN -> PRIMARY (TO: 2458635) 2015-05-22 11:52:08 21304 [Note] WSREP: State transfer required: Group state: 19bf9b09-ed47-11e4-8005-f75eee435bfc:2458635 Local state: 00000000-0000-0000-0000-000000000000:-1 2015-05-22 11:52:08 21304 [Note] WSREP: New cluster view: global state: 19bf9b09-ed47-11e4-8005-f75eee435bfc:2458635, view# 4: Primary, number of nodes: 3, my index: 1, protocol version 3 2015-05-22 11:52:08 21304 [Warning] WSREP: Gap in state sequence. Need state transfer. 2015-05-22 11:52:08 21304 [Note] WSREP: Running: 'wsrep_sst_rsync --role 'joiner' --address '10.1.1.100' --auth '' --datadir '/var/lib/mysql/' --defaults-file '/etc/mysql/my.cnf' --parent '21304' '' ' 2015-05-22 11:52:08 21304 [Note] WSREP: Prepared SST request: rsync|10.1.1.100:4444/rsync_sst 2015-05-22 11:52:08 21304 [Note] WSREP: wsrep_notify_cmd is not defined, skipping notification. 2015-05-22 11:52:08 21304 [Note] WSREP: REPL Protocols: 7 (3, 2) 2015-05-22 11:52:08 21304 [Note] WSREP: Service thread queue flushed. 2015-05-22 11:52:08 21304 [Note] WSREP: Assign initial position for certification: 2458635, protocol version: 3 2015-05-22 11:52:08 21304 [Note] WSREP: Service thread queue flushed. 2015-05-22 11:52:08 21304 [Warning] WSREP: Failed to prepare for incremental state transfer: Local state UUID (00000000-0000-0000-0000-000000000000) does not match group state UUID (19bf9b09-ed47-11e4-8005-f75eee435bfc): 1 (Operation not permitted) at galera/src/replicator_str.cpp:prepare_for_IST():456. IST will be unavailable. 2015-05-22 11:52:08 21304 [Note] WSREP: Member 1.0 (db1) requested state transfer from '*any*'. Selected 2.0 (db2)(SYNCED) as donor. 2015-05-22 11:52:08 21304 [Note] WSREP: Shifting PRIMARY -> JOINER (TO: 2458635) 2015-05-22 11:52:08 21304 [Note] WSREP: Requesting state transfer: success, donor: 2 2015-05-22 11:52:10 21304 [Warning] WSREP: 2.0 (db2): State transfer to 1.0 (db1) failed: -255 (Unknown error 255) 2015-05-22 11:52:10 21304 [ERROR] WSREP: gcs/src/gcs_group.cpp:int gcs_group_handle_join_msg(gcs_group_t*, const gcs_recv_msg_t*)():731: Will never receive state. Need to abort. 2015-05-22 11:52:10 21304 [Note] WSREP: gcomm: terminating thread 2015-05-22 11:52:10 21304 [Note] WSREP: gcomm: joining thread 2015-05-22 11:52:10 21304 [Note] WSREP: gcomm: closing backend 2015-05-22 11:52:10 21304 [Note] WSREP: view(view_id(NON_PRIM,65fff90b,126) memb { eb09815b,0 } joined { } left { } partitioned { 65fff90b,0 ebec3ac9,0 }) 2015-05-22 11:52:10 21304 [Note] WSREP: view((empty)) 2015-05-22 11:52:10 21304 [Note] WSREP: gcomm: closed 2015-05-22 11:52:10 21304 [Note] WSREP: /usr/sbin/mysqld: Terminated. Aborted (core dumped) 150522 11:52:10 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended WSREP_SST: [ERROR] Parent mysqld process (PID:21304) terminated unexpectedly. (20150522 11:52:10.816) WSREP_SST: [INFO] Joiner cleanup. (20150522 11:52:10.819) WSREP_SST: [INFO] Joiner cleanup done. (20150522 11:52:11.331) I found many permission issues log in syslog on that node

: May 22 11:52:09 db1 rsyncd[21375]: *** Skipping any contents from this failed directory *** May 22 11:52:09 db1 rsyncd[21375]: rsync: recv_generator: mkdir "my_db" (in rsync_sst) failed: Permission denied (13) /var/lib/mysql/ on donor and this node both owned by mysql.mysql

How do I rectify this?

Percona XtraBackup 2.3.1-beta1 is now available

Latest MySQL Performance Blog posts - May 20, 2015 - 11:10am

Percona is glad to announce the release of Percona XtraBackup 2.3.1-beta1 on May 20th 2015. Downloads are available from our download site here. This BETA release, will be available in Debian testing and CentOS testing repositories.

This is an BETA quality release and it is not intended for production. If you want a high quality, Generally Available release, the current Stable version should be used (currently 2.2.10 in the 2.2 series at the time of writing).

Percona XtraBackup enables MySQL backups without blocking user queries, making it ideal for companies with large data sets and mission-critical applications that cannot tolerate long periods of downtime. Offered free as an open source solution, Percona XtraBackup drives down backup costs while providing unique features for MySQL backups.

This release contains all of the features and bug fixes in Percona XtraBackup 2.2.10, plus the following:

New Features:

  • innobackupex script has been rewritten in C and it’s set as the symlink for xtrabackup. innobackupex still supports all features and syntax as 2.2 version did, but it is now deprecated and will be removed in next major release. Syntax for new features will not be added to the innobackupex, only to the xtrabackup. xtrabackup now also copies MyISAM tables and supports every feature of innobackupex. Syntax for features previously unique to innobackupex (option names and allowed values) remains the same for xtrabackup.
  • Percona XtraBackup can now read swift parameters from a [xbcloud] section from the .my.cnf file in the users home directory or alternatively from the global configuration file /etc/my.cnf. This makes it more convenient to use and avoids passing the sensitive data, such as --swift-key, on the command line.
  • Percona XtraBackup now supports different authentication options for Swift.
  • Percona XtraBackup now supports partial download of the cloud backup.
  • Options: --lock-wait-query-type, --lock-wait-threshold and --lock-wait-timeout have been renamed to --ftwrl-wait-query-type, --ftwrl-wait-threshold and --ftwrl-wait-timeout respectively.

Bugs Fixed:

  • innobackupex didn’t work correctly when credentials were specified in .mylogin.cnf. Bug fixed #1388122.
  • Options --decrypt and --decompress didn’t work with xtrabackup binary. Bug fixed #1452307.
  • Percona XtraBackup now executes an extra FLUSH TABLES before executing FLUSH TABLES WITH READ LOCK to potentially lower the impact from FLUSH TABLES WITH READ LOCK. Bug fixed #1277403.
  • innobackupex didn’t read user,password options from ~/.my.cnf file. Bug fixed #1092235.
  • innobackupex was always reporting the original version of the innobackup script from InnoDB Hot Backup. Bug fixed #1092380.

Release notes with all the bugfixes for Percona XtraBackup 2.3.1-beta1 are available in our online documentation. Bugs can be reported on the launchpad bug tracker. Percona XtraBackup is an open source, free MySQL hot backup software that performs non-blocking backups for InnoDB and XtraDB databases.

The post Percona XtraBackup 2.3.1-beta1 is now available appeared first on MySQL Performance Blog.

Incremental and available space

Lastest Forum Posts - May 20, 2015 - 10:22am
Hello all,

Having in mind a scenario that I want to follow on my work for some databases I was thinking of the available space I will have when using a full and incemental backups.
Can someone help me on this:

Suppose we want to take a weekly full backup and an incremental every day what will happen to the 1st full backup when the second one will be taken since they will have a different date (I do not use the no-timestamp option).
Can I just delete the previous Full backup and all the incremental of last week when the new weekly full and the first one or two incrementals will be taken?
Any ideas on how to use the incremental and not run out of space?

Thank you all
George

Randomly IST fail

Lastest Forum Posts - May 20, 2015 - 9:51am
Hello,

first, thank you for your excellent products like xtrabackup, server and cluster (and so on...)

Very well, we have 5-node cluster, I graceful stopped 1st node ad the others still writing, and when I start the stopped node sometimes I have this message:


2015-05-20 12:45:38 29587 [Note] WSREP: New cluster view: global state: f7dc1bbb-f8b8-11e4-8172-3f0c0cf99383:165132, view# 59: Primary, number of nodes: 5, my index: 1, protocol version 3
2015-05-20 12:45:38 29587 [Warning] WSREP: Gap in state sequence. Need state transfer.
2015-05-20 12:45:38 29587 [Note] WSREP: Running: 'wsrep_sst_xtrabackup-v2 --role 'joiner' --address '10.1.3.221' --auth 'sstuser:despegar#mysql' --datadir '/mysql/data/' --defaults-file '/etc/my.cnf' --parent '29587' '' '
.WSREP_SST: [INFO] Streaming with xbstream (20150520 12:45:39.638)
WSREP_SST: [INFO] Using socat as streamer (20150520 12:45:39.644)
2015-05-20 12:45:39 29587 [Note] WSREP: Prepared SST request: xtrabackup-v2|10.1.3.221:4444/xtrabackup_sst//1
WSREP_SST: [INFO] Evaluating timeout -s9 100 socat -u TCP-LISTEN:4444,reuseaddr stdio | xbstream -x; RC=( ${PIPESTATUS[@]} ) (20150520 12:45:39.731)
2015/05/20 12:45:39 socat[29858] E bind(3, {AF=2 0.0.0.0:4444}, 16): Address already in use
WSREP_SST: [ERROR] Error while getting data from donor node: exit codes: 1 0 (20150520 12:45:39.748)
WSREP_SST: [ERROR] Cleanup after exit with status:32 (20150520 12:45:39.754)
2015-05-20 12:45:39 29587 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup-v2 --role 'joiner' --address '10.1.3.221' --auth 'sstuser:despegar#mysql' --datadir '/mysql/data/' --defaults-file '/etc/my.cnf' --parent '29587' '' : 32 (Broken pipe)
2015-05-20 12:45:39 29587 [ERROR] WSREP: Failed to read uuid:seqno from joiner script.
2015-05-20 12:45:39 29587 [ERROR] WSREP: SST failed: 32 (Broken pipe)
2015-05-20 12:45:39 29587 [ERROR] Aborting

2015-05-20 12:45:39 29587 [Note] WSREP: REPL Protocols: 7 (3, 2)
2015-05-20 12:45:39 29587 [Note] WSREP: Service thread queue flushed.
2015-05-20 12:45:39 29587 [Note] WSREP: Assign initial position for certification: 165132, protocol version: 3
2015-05-20 12:45:39 29587 [Note] WSREP: Service thread queue flushed.
2015-05-20 12:45:39 29587 [Note] WSREP: Prepared IST receiver, listening at: tcp://10.1.3.221:4568
2015-05-20 12:45:39 29587 [Note] WSREP: Member 1.0 (xtradb-cloudia-01) requested state transfer from '*any*'. Selected 4.0 (xtradb-cloudia-04)(SYNCED) as donor.
2015-05-20 12:45:39 29587 [Note] WSREP: Shifting PRIMARY -> JOINER (TO: 165132)
2015-05-20 12:45:39 29587 [Note] WSREP: Requesting state transfer: success, donor: 4
State transfer in progress, setting sleep higher
.xbstream: Can't create/write to file './xtrabackup_galera_info' (Errcode: 2 - No such file or directory)
xbstream: failed to create file.

Any idea?
Need any other data?
Thank you so much

Xtradb cluster: WSREP_SST error

Lastest Forum Posts - May 20, 2015 - 8:28am
Hi all,

I'm trying to add a new node to my db cluster, and encountering an error I can't solve.

Context:
The cluster currently has 3 active servers (nodes: db1, db3, db4) , 1 down with a filesystem issue (db2)
I've updated db1 and db3 config (new ip in the wsrep_cluster_address), but not db4 since it's under heavy load at the moment (it's taking db2 load).
So I'm trying to add a new node db5 to replace db2 with the following config:


[mysqld]
log-error = /var/log/mysql.log
wsrep_provider = /usr/lib64/libgalera_smm.so
wsrep_cluster_address = gcomm://xxx.xxx.xxx.3,xxx.xxx.xxx.6,xxx.xxx.xxx.7,xxx.xxx. xxx.23,xxx.xxx.xxx.54
binlog_format = ROW
default_storage_engine = InnoDB
innodb_autoinc_lock_mode = 2
log_slave_updates = 1
innodb_locks_unsafe_for_binlog = 1
innodb_buffer_pool_size = 12G
datadir = /db-data/mysql
server_id = 5
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
wsrep_sst_method = xtrabackup
wsrep_cluster_name = live_cluster
wsrep_node_name = db5
log_bin = mysql-bin
wsrep_sst_auth = "userassword"
sort_buffer_size = 4M
join_buffer_size = 128M
expire_logs_days = 7
max_connections = 200

//Test: tried to specify a donor
wsrep_sst_donor = db1


An now the error I get when I start the server:

[...]
2015-05-20 14:59:35 4466 [Note] WSREP: 1.0 (db1): State transfer to 3.0 (db5) complete.
2015-05-20 14:59:35 4466 [Note] WSREP: Member 1.0 (db1) synced with group.
WSREP_SST: [INFO] Preparing the backup at /db-data/mysql/ (20150520 14:59:57.972)
WSREP_SST: [INFO] Evaluating innobackupex --no-version-check --apply-log $rebuildcmd ${DATA} &amp;&gt;${DATA}/innobackup.prepare.log (20150520 14:59:57.975)
WSREP_SST: [ERROR] Cleanup after exit with status:2 (20150520 14:59:58.231)
WSREP_SST: [INFO] Removing the sst_in_progress file (20150520 14:59:58.233)
2015-05-20 14:59:58 4466 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup --role 'joiner' --address 'xxx.xxx.xxx.54' --auth 'user: password --datadir '/db-data/mysql/' --defaults-file '/etc/my.cnf' --parent '4466' '' : 2 (No such file or directory)
2015-05-20 14:59:58 4466 [ERROR] WSREP: Failed to read uuid:seqno from joiner script.
2015-05-20 14:59:58 4466 [ERROR] WSREP: SST failed: 2 (No such file or directory)
2015-05-20 14:59:58 4466 [ERROR] Aborting

2015-05-20 15:00:00 4466 [Note] WSREP: Closing send monitor...
2015-05-20 15:00:00 4466 [Note] WSREP: Closed send monitor.
2015-05-20 15:00:00 4466 [Note] WSREP: gcomm: terminating thread
2015-05-20 15:00:00 4466 [Note] WSREP: gcomm: joining thread
2015-05-20 15:00:00 4466 [Note] WSREP: gcomm: closing backend
2015-05-20 15:00:00 4466 [Note] WSREP: gcomm: closed
2015-05-20 15:00:00 4466 [Note] WSREP: New COMPONENT: primary = no, bootstrap = no, my_idx = 0, memb_num = 1
2015-05-20 15:00:00 4466 [Note] WSREP: Flow-control interval: [16, 16]
2015-05-20 15:00:00 4466 [Note] WSREP: Received NON-PRIMARY.
2015-05-20 15:00:00 4466 [Note] WSREP: Shifting JOINER -&gt; OPEN (TO: 39533446)
2015-05-20 15:00:00 4466 [Note] WSREP: Received self-leave message.
2015-05-20 15:00:00 4466 [Note] WSREP: Flow-control interval: [0, 0]
2015-05-20 15:00:00 4466 [Note] WSREP: Received SELF-LEAVE. Closing connection.
2015-05-20 15:00:00 4466 [Note] WSREP: Shifting OPEN -&gt; CLOSED (TO: 39533446)
2015-05-20 15:00:00 4466 [Note] WSREP: RECV thread exiting 0: Success
2015-05-20 15:00:00 4466 [Note] WSREP: recv_thread() joined.
2015-05-20 15:00:00 4466 [Note] WSREP: Closing replication queue.
2015-05-20 15:00:00 4466 [Note] WSREP: Closing slave action queue.
2015-05-20 15:00:00 4466 [Note] WSREP: Service disconnected.
2015-05-20 15:00:00 4466 [Note] WSREP: rollbacker thread exiting
2015-05-20 15:00:01 4466 [Note] WSREP: Some threads may fail to exit.
2015-05-20 15:00:01 4466 [Note] Binlog end
2015-05-20 15:00:01 4466 [Note] /usr/sbin/mysqld: Shutdown complete

Error in my_thread_global_end(): 1 threads didn't exit
150520 15:00:06 mysqld_safe mysqld from pid file /db-data/mysql/db5.pid ended


Could anyone please give me a hand.
Thank you.

Xtradb cluster - WSREP_SST error

Lastest Forum Posts - May 20, 2015 - 8:27am
Hi all,

I'm trying to add a new node to my db cluster, and encountering an error I can't solve.

Context:
The cluster currently has 3 active servers (nodes: db1, db3, db4) , 1 down with a filesystem issue (db2)
I've updated db1 and db3 config (new ip in the wsrep_cluster_address), but not db4 since it's under heavy load at the moment (it's taking db2 load).
So I'm trying to add a new node db5 to replace db2 with the following config:


[mysqld]
log-error = /var/log/mysql.log
wsrep_provider = /usr/lib64/libgalera_smm.so
wsrep_cluster_address = gcomm://xxx.xxx.xxx.3,xxx.xxx.xxx.6,xxx.xxx.xxx.7,xxx.xxx. xxx.23,xxx.xxx.xxx.54
binlog_format = ROW
default_storage_engine = InnoDB
innodb_autoinc_lock_mode = 2
log_slave_updates = 1
innodb_locks_unsafe_for_binlog = 1
innodb_buffer_pool_size = 12G
datadir = /db-data/mysql
server_id = 5
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
wsrep_sst_method = xtrabackup
wsrep_cluster_name = live_cluster
wsrep_node_name = db5
log_bin = mysql-bin
wsrep_sst_auth = "userassword"
sort_buffer_size = 4M
join_buffer_size = 128M
expire_logs_days = 7
max_connections = 200

//Test: tried to specify a donor
wsrep_sst_donor = db1


An now the error I get when I start the server:

[...]
2015-05-20 14:59:35 4466 [Note] WSREP: 1.0 (db1): State transfer to 3.0 (db5) complete.
2015-05-20 14:59:35 4466 [Note] WSREP: Member 1.0 (db1) synced with group.
WSREP_SST: [INFO] Preparing the backup at /db-data/mysql/ (20150520 14:59:57.972)
WSREP_SST: [INFO] Evaluating innobackupex --no-version-check --apply-log $rebuildcmd ${DATA} &amp;&gt;${DATA}/innobackup.prepare.log (20150520 14:59:57.975)
WSREP_SST: [ERROR] Cleanup after exit with status:2 (20150520 14:59:58.231)
WSREP_SST: [INFO] Removing the sst_in_progress file (20150520 14:59:58.233)
2015-05-20 14:59:58 4466 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup --role 'joiner' --address 'xxx.xxx.xxx.54' --auth 'user: password --datadir '/db-data/mysql/' --defaults-file '/etc/my.cnf' --parent '4466' '' : 2 (No such file or directory)
2015-05-20 14:59:58 4466 [ERROR] WSREP: Failed to read uuid:seqno from joiner script.
2015-05-20 14:59:58 4466 [ERROR] WSREP: SST failed: 2 (No such file or directory)
2015-05-20 14:59:58 4466 [ERROR] Aborting

2015-05-20 15:00:00 4466 [Note] WSREP: Closing send monitor...
2015-05-20 15:00:00 4466 [Note] WSREP: Closed send monitor.
2015-05-20 15:00:00 4466 [Note] WSREP: gcomm: terminating thread
2015-05-20 15:00:00 4466 [Note] WSREP: gcomm: joining thread
2015-05-20 15:00:00 4466 [Note] WSREP: gcomm: closing backend
2015-05-20 15:00:00 4466 [Note] WSREP: gcomm: closed
2015-05-20 15:00:00 4466 [Note] WSREP: New COMPONENT: primary = no, bootstrap = no, my_idx = 0, memb_num = 1
2015-05-20 15:00:00 4466 [Note] WSREP: Flow-control interval: [16, 16]
2015-05-20 15:00:00 4466 [Note] WSREP: Received NON-PRIMARY.
2015-05-20 15:00:00 4466 [Note] WSREP: Shifting JOINER -&gt; OPEN (TO: 39533446)
2015-05-20 15:00:00 4466 [Note] WSREP: Received self-leave message.
2015-05-20 15:00:00 4466 [Note] WSREP: Flow-control interval: [0, 0]
2015-05-20 15:00:00 4466 [Note] WSREP: Received SELF-LEAVE. Closing connection.
2015-05-20 15:00:00 4466 [Note] WSREP: Shifting OPEN -&gt; CLOSED (TO: 39533446)
2015-05-20 15:00:00 4466 [Note] WSREP: RECV thread exiting 0: Success
2015-05-20 15:00:00 4466 [Note] WSREP: recv_thread() joined.
2015-05-20 15:00:00 4466 [Note] WSREP: Closing replication queue.
2015-05-20 15:00:00 4466 [Note] WSREP: Closing slave action queue.
2015-05-20 15:00:00 4466 [Note] WSREP: Service disconnected.
2015-05-20 15:00:00 4466 [Note] WSREP: rollbacker thread exiting
2015-05-20 15:00:01 4466 [Note] WSREP: Some threads may fail to exit.
2015-05-20 15:00:01 4466 [Note] Binlog end
2015-05-20 15:00:01 4466 [Note] /usr/sbin/mysqld: Shutdown complete

Error in my_thread_global_end(): 1 threads didn't exit
150520 15:00:06 mysqld_safe mysqld from pid file /db-data/mysql/db5.pid ended


Could anyone please give me a hand.
Thank you.

Backup -&amp;gt; Prepare -&amp;gt; Compress

Lastest Forum Posts - May 20, 2015 - 5:23am
Hi,

I want to make a backup, then prepare it (I guess with --apply-log) and then compress it. But as I understand it, compression is an option while making the backup, and then the backup cannot be prepared without decompressing it first.

I want my backup to be prepared and ready before I archive it. So that I don't have to prepare it before restoring.
Am I thinking about this the wrong way?

If not, any recommendations for compressing my backup after doing --apply-log?

Thanks!

Percona XtraDB Cluster 5.7 ?

Lastest Forum Posts - May 20, 2015 - 3:30am
Hi all,

am I correct in assuming that Percona XtraDB cluster 5.6 is built upon MySQL 5.6 ? If so, any idea when we can expect 5.7 ?
We're running Percona XtraDB cluster and we need some features only available in MySQL 5.7 ...

thanks & regards
Jo

Percona XtraDB Cluster 5.7 ?

Lastest Forum Posts - May 20, 2015 - 3:21am
Hi all,

am I correct in assuming that Percona XtraDB cluster 5.6 is built upon MySQL 5.6 ? If so, any idea when we can expect 5.7 ?
We're running Percona XtraDB cluster and we need some features only available in MySQL 5.7 ...

thanks & regards
Jo

after change config - Can't open and lock privilege tables

Lastest Forum Posts - May 19, 2015 - 11:40pm
ubuntu 14.04 amd64
percona 5.6

After changing my config, I decided to restart second node and found permission errors. It seems that all files under data dir has become owned by root:root. What gives?

: WSREP_SST: [INFO] Waiting for SST streaming to complete! (20150520 13:23:58.751) 2015-05-20 13:23:59 15145 [Note] WSREP: (6928fbc1, 'tcp://0.0.0.0:4567') turning message relay requesting off 2015-05-20 13:25:52 15145 [Note] WSREP: 0.0 (db1): State transfer to 1.0 (db2) complete. 2015-05-20 13:25:52 15145 [Note] WSREP: Member 0.0 (db1) synced with group. WSREP_SST: [INFO] Preparing the backup at /var/lib/mysql//.sst (20150520 13:25:52.171) WSREP_SST: [INFO] Evaluating innobackupex --no-version-check --apply-log $rebuildcmd ${DATA} &>${DATA}/innobackup.prepare.log (20150520 13:25:52.175) rm: cannot remove ‘/var/lib/mysql//innobackup.prepare.log’: No such file or directory rm: cannot remove ‘/var/lib/mysql//innobackup.move.log’: No such file or directory WSREP_SST: [INFO] Moving the backup to /var/lib/mysql/ (20150520 13:26:01.720) WSREP_SST: [INFO] Evaluating innobackupex --defaults-file=/etc/mysql/my.cnf --no-version-check --move-back --force-non-empty-directories ${DATA} &>${DATA}/innobackup.move.log (20150520 13:26:01.724) WSREP_SST: [INFO] Move successful, removing /var/lib/mysql//.sst (20150520 13:26:02.770) WSREP_SST: [INFO] Galera co-ords from recovery: 19bf9b09-ed47-11e4-8005-f75eee435bfc:930465 (20150520 13:26:02.788) WSREP_SST: [INFO] Total time on joiner: 0 seconds (20150520 13:26:02.793) WSREP_SST: [INFO] Removing the sst_in_progress file (20150520 13:26:02.798) 2015-05-20 13:26:02 15145 [Note] WSREP: SST complete, seqno: 930465 2015-05-20 13:26:02 15145 [Note] InnoDB: Using atomics to ref count buffer pool pages 2015-05-20 13:26:02 15145 [Note] InnoDB: The InnoDB memory heap is disabled 2015-05-20 13:26:02 15145 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2015-05-20 13:26:02 15145 [Note] InnoDB: Memory barrier is not used 2015-05-20 13:26:02 15145 [Note] InnoDB: Compressed tables use zlib 1.2.8 2015-05-20 13:26:02 15145 [Note] InnoDB: Using Linux native AIO 2015-05-20 13:26:02 15145 [Note] InnoDB: Using CPU crc32 instructions 2015-05-20 13:26:02 15145 [Note] InnoDB: Initializing buffer pool, size = 91.9G 2015-05-20 13:26:07 15145 [Note] InnoDB: Completed initialization of buffer pool 2015-05-20 13:26:08 15145 [Note] InnoDB: Highest supported file format is Barracuda. 2015-05-20 13:26:10 15145 [Note] InnoDB: 128 rollback segment(s) are active. 2015-05-20 13:26:10 15145 [Note] InnoDB: Waiting for purge to start 2015-05-20 13:26:10 15145 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.22-72.0 started; log sequence number 8113619938 2015-05-20 13:26:42 15145 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: cc1d0d52-feb0-11e4-8fda-40f2e99e3ca2. 2015-05-20 13:26:42 15145 [Note] RSA private key file not found: /var/lib/mysql//private_key.pem. Some authentication plugins will not work. 2015-05-20 13:26:42 15145 [Note] RSA public key file not found: /var/lib/mysql//public_key.pem. Some authentication plugins will not work. 2015-05-20 13:26:42 15145 [Note] Server hostname (bind-address): '10.1.1.100'; port: 3306 2015-05-20 13:26:42 15145 [Note] - '10.1.1.100' resolves to '10.1.1.100'; 2015-05-20 13:26:42 15145 [Note] Server socket created on IP: '10.1.1.100'. 2015-05-20 13:26:42 15145 [ERROR] /usr/sbin/mysqld: Can't find file: './mysql/user.frm' (errno: 13 - Permission denied) 2015-05-20 13:26:42 15145 [ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/user.frm' (errno: 13 - Permission denied) 150520 13:26:42 mysqld_safe mysqld from pid file /var/lib/mysql/mysqld.pid ended my.cnf

: [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] pid_file=mysqld.pid log_error=/var/log/mysql.log basedir=/usr/ datadir=/var/lib/mysql [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql federated skip-external-locking bind-address = 10.1.1.100 key_buffer = 24M tmp_table_size = 64M max_heap_table_size = 64M max_allowed_packet = 512M skip_name_resolve memlock sysdate_is_now=1 #thread_stack = 192K thread_cache_size = 512 query_cache_size = 0 table_open_cache=1024 lower_case_table_names=0 # 5.6 backwards compatibility explicit_defaults_for_timestamp=1 #myisam-recover = BACKUP #query_cache_limit = 1M #query_cache_size = 16M log_error = /var/log/mysql.log binlog_format=ROW ### INNODB OPTIONS innodb_buffer_pool_size=94065M innodb_flush_log_at_trx_commit=2 innodb_file_per_table=1 innodb_data_file_path = ibdata1:100M:autoextend ## You may want to tune the below depending on number of cores and disk sub innodb_read_io_threads=4 innodb_write_io_threads=4 innodb_io_capacity=200 innodb_doublewrite=1 innodb_log_file_size=1024M innodb_log_buffer_size=96M innodb_buffer_pool_instances=8 innodb_log_files_in_group=2 innodb_thread_concurrency=64 #innodb_file_format=barracuda innodb_flush_method = O_DIRECT innodb_autoinc_lock_mode=2 ## avoid statistics update when doing e.g show tables innodb_stats_on_metadata=0 default_storage_engine=innodb wsrep_provider=/usr/lib/libgalera_smm.so wsrep_cluster_name = dbcluster wsrep_sst_method=xtrabackup-v2 wsrep_sst_auth=root:password wsrep_node_name = db2 #wsrep_cluster_address=gcomm:// wsrep_cluster_address=gcomm://10.1.1.100:4567,10.1.1.100:4567 expire_logs_days = 10 max_binlog_size = 100M # replicate myisam #wsrep_replicate_myisam=1 [mysqldump] quick quote-names max_allowed_packet = 16M [mysql] [isamchk] key_buffer = 16M !includedir /etc/mysql/conf.d/

rsync: failed to set permissions on &amp;quot;.&amp;quot;

Lastest Forum Posts - May 19, 2015 - 8:52pm
ubuntu 14.04 amd64
percona 5.6

why would rsync failed?

: rsync: failed to set permissions on "." (in rsync_sst): Operation not permitted (1) rsync: recv_generator: mkdir "FedTest" (in rsync_sst) failed: Permission denied (13) *** Skipping any contents from this failed directory *** rsync: open "ibdata1" (in rsync_sst) failed: Permission denied (13) 2015-05-20 11:45:12 13218 [Note] WSREP: (6b694432, 'tcp://0.0.0.0:4567') turning message relay requesting off rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.0] WSREP_SST: [ERROR] rsync returned code 23: (20150520 11:45:12.039) 2015-05-20 11:45:12 13218 [ERROR] WSREP: Failed to read from: wsrep_sst_rsync --role 'donor' --address '10.1.1.101:4444/rsync_sst' --auth '(null)' --socket '/var/run/mysqld/mysqld.sock' --datadir '/var/lib/mysql/' --defaults-file '/etc/mysql/my.cnf' '' --gtid '19bf9b09-ed47-11e4-8005-f75eee435bfc:930436' 2015-05-20 11:45:12 13218 [ERROR] WSREP: Process completed with error: wsrep_sst_rsync --role 'donor' --address '10.1.1.101:4444/rsync_sst' --auth '(null)' --socket '/var/run/mysqld/mysqld.sock' --datadir '/var/lib/mysql/' --defaults-file '/etc/mysql/my.cnf' '' --gtid '19bf9b09-ed47-11e4-8005-f75eee435bfc:930436': 255 (Unknown error 255) db2:~$ grep sst_method /etc/mysql/my.cnf wsrep_sst_method=rsync db2:~$ sudo ls -l /var/lib/mysql lrwxrwxrwx 1 root root 12 Mei 19 12:36 /var/lib/mysql -> /mnt/db/db2/ db2:~$ sudo ls -l /var/lib/mysql/ total 2330648 -rw-rw---- 1 mysql mysql 56 Mei 20 11:09 auto.cnf -rw------- 1 mysql mysql 134219048 Mei 20 11:44 galera.cache -rw-rw---- 1 mysql mysql 104 Mei 20 11:44 grastate.dat -rw-rw---- 1 mysql mysql 104857600 Mei 20 11:44 ibdata1 -rw-rw---- 1 mysql mysql 1073741824 Mei 20 11:44 ib_logfile0 -rw-rw---- 1 mysql mysql 1073741824 Mei 20 11:09 ib_logfile1 /etc/mysql/my.cnf

: [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql federated skip-external-locking bind-address = 10.1.1.101 key_buffer = 24M tmp_table_size = 64M max_heap_table_size = 64M max_allowed_packet = 512M skip_name_resolve memlock sysdate_is_now=1 thread_cache_size = 512 query_cache_size = 0 table_open_cache=1024 lower_case_table_names=0 explicit_defaults_for_timestamp=1 log_error = /var/log/mysql.log binlog_format=ROW innodb_buffer_pool_size=94065M innodb_flush_log_at_trx_commit=2 innodb_file_per_table=1 innodb_data_file_path = ibdata1:100M:autoextend innodb_read_io_threads=4 innodb_write_io_threads=4 innodb_io_capacity=200 innodb_doublewrite=1 innodb_log_file_size=1024M innodb_log_buffer_size=96M innodb_buffer_pool_instances=8 innodb_log_files_in_group=2 innodb_thread_concurrency=64 innodb_flush_method = O_DIRECT innodb_autoinc_lock_mode=2 innodb_stats_on_metadata=0 default_storage_engine=innodb wsrep_provider=/usr/lib/libgalera_smm.so wsrep_cluster_name = dbcluster wsrep_sst_method=rsync wsrep_node_name = db2 wsrep_cluster_address=gcomm://10.1.1.101:4567,10.1.1.101:4567 expire_logs_days = 10 max_binlog_size = 100M [mysqldump] quick quote-names max_allowed_packet = 16M [mysql] [isamchk] key_buffer = 16M !includedir /etc/mysql/conf.d/

[Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT

Lastest Forum Posts - May 19, 2015 - 8:26am
Percona-Server-shared-51.x86_64 5.1.73-rel14.12.624.rhel6 @percona-release-x86_64
Percona-XtraDB-Cluster-56.x86_64 1:5.6.22-25.8.978.el6 @percona-release-x86_64
Percona-XtraDB-Cluster-client-56.x86_64 1:5.6.22-25.8.978.el6 @percona-release-x86_64
Percona-XtraDB-Cluster-galera-3.x86_64 3.9-1.3494.rhel6 @percona-release-x86_64
Percona-XtraDB-Cluster-server-56.x86_64 1:5.6.22-25.8.978.el6 @percona-release-x86_64
Percona-XtraDB-Cluster-shared-56.x86_64 1:5.6.22-25.8.978.el6 @percona-release-x86_64
percona-release.noarch 0.1-3 @percona
percona-toolkit.noarch 2.2.14-1 @percona-release-noarch
percona-xtrabackup.x86_64 2.2.10-1.el6 @percona-release-x86_64
percona-zabbix-templates.noarch 1.1.4-1 @percona-release-noarch


Following a crash of my cluster ( 2 nodes corrupted on the cluster of 3 nodes ) after a double hard disk failure
(No luck this time ... the I am not able to restore a copy of the database at the right point in time)

So I turn to community to seek for advice with this issue

My mysql error log get filled with such message ... and I wonder if there is a way to clean this.

2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: SELECT dv.mandatory,dv.optional FROM dbversion dv
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: SELECT n.* FROM nodes n WHERE n.nodetype=1 ORDER BY n.nodeid
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: SELECT p.* FROM profiles p WHERE p.userid=4 ORDER BY p.userid,p.profileid
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: SELECT p.* FROM profiles p WHERE p.userid=4 ORDER BY p.userid,p.profileid
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: SELECT c.* FROM config c
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: SELECT p.* FROM profiles p WHERE p.userid=4 ORDER BY p.userid,p.profileid
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: SELECT p.* FROM profiles p WHERE p.userid=4 ORDER BY p.userid,p.profileid
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: SELECT p.* FROM profiles p WHERE p.userid=4 ORDER BY p.userid,p.profileid
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: SELECT COUNT(DISTINCT t.triggerid) AS cnt,t.status,t.value FROM triggers t WHERE NOT EXISTS (SELECT f.functionid FROM functions f JOIN items i ON f.itemid=i.itemid JOIN hosts h ON i.hostid=h.hostid WHERE f.triggerid=t.triggerid AND (i.status<>0 OR h.status<>0)) AND t.flags IN (0,4) GROUP BY t.status,t.value
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT
2015-05-19 17:13:40 253025 [Note] WSREP: cleanup transaction for LOCAL_STATE: COMMIT

Like my MySQL QA series? Here’s how to record your own!

Latest MySQL Performance Blog posts - May 19, 2015 - 6:55am

Professional Screen Recording / Screencast Template 1280×720

Whilst not directly related to MySQL, it may be helpful to post (and open source at the same time) the HD screen recording/screencast template I’ve been using to create the MySQL QA series.

If you’ve never recorded a screencast before, or if you’d like to improve your screen recordings, this short blog post will get you started/help you along the way!

 

Here’s what you need;
1. Software Budget: $0 (Really! All required software is free, provided you have Microsoft Windows to use it on)
2. A reasonable quality headset. I can recommend (and use) a Microsoft LifeChat LX-3000 or similar (~$40)
3. The attached template (right-click the image above and select ‘Save Link/Image As…’ or similar)

Here’s how to get started;
1. Install Microsoft Visual C++ 2010 Redistributable Package (x86) from here.
2. Install CamStudio 2.7 or higher. CamStudio can be downloaded from http://camstudio.org/
3. Install CamStudioCodec 1.5 or higher (a good quality codec, available from the same website as in step 2).
4. Use a 1600×900 or higher screen resolution to match the template size (or you can also edit the template).
5. Set the Professional Screen Recording / Screencast Template (right click & save) as your background.
6. Make the settings/follow the instructions as per the template (tip: read everything first before you start).
7. You can scale your to-be-recorded window to match the black frame (and one of the settings as shown in the template makes CamStudio match the recording size exactly to that frame). The black frame ensures that any slight pixel-mismatch still shows nicely in the resulting video.
8. You may like to install a screen marking tool like DemoHelper or ScreenMarker.

If you followed the steps above you will have already covered the blue (top right) “Installation/use” steps nr’s 1-5, and you can now continue with the red steps 1-8 (and read the additional blue tips 1-4).

There’s quite a bit to it, but if you get it setup right the quality will be great!

I hope to see more technical how-to video’s on this and other blogs in the future!

Enjoy!

The post Like my MySQL QA series? Here’s how to record your own! appeared first on MySQL Performance Blog.

Multi master cluster question

Lastest Forum Posts - May 19, 2015 - 4:45am
Hello,

I apologize for the following question but I am starting out with XtraDB cluster.

I have a scenario where I run 4 servers with different sites (so 4 masters), now I need to add one server where all 4 databases would consolidate. I need the setup to be flexible where I could add more servers to replicate the database for Server2.

Also is it possible select which database gets replicated instead of the cluster trying to replicate everything?


Again, I apologize for the noob questions.

Schema change with manual RSU possible issues?

Lastest Forum Posts - May 19, 2015 - 3:18am

I have a setup with three percona cluster servers. I a doing some tests with online schema changes and i have a question regarding what happens when you drop a column on a schema change as this method requires the old/new schema change to be backwards compatible.

Assuming we have:

ServerA: Receives all traffic
ServerB: Synced
ServerC: Synced

You take out ServerC see from cluster, change OSU method to RSU, and you drop the column "comments" from "table1".
ServerC has any activities performed by the rest of the cluster cached in galera.cache. So when ServerC is brought back to cluster it will start executing the activity cached.

At this point, ServerA receives an insert to table "table1" which also inserts information in column "comments"

Now, when we add ServerC back to cluster, it will try to perform the above insert (since it is cached) in order to get synced with the rest of the cluster. Wouldn’t the above insert fail? I mean it will try to insert on a column that does not exists, right?

How can your schema be backwards compatible when you actually drop a column on the new schema?

garb open file(./gvwstate.dat.tmp) failed(Permission denied)

Lastest Forum Posts - May 18, 2015 - 10:55pm
when a node restarted its service, belwo warning message will appear

2015-05-19 12:35:28.097 WARN: open file(./gvwstate.dat.tmp) failed(Permission denied)

: $ ls -l /gvwstate.dat -rw-r--r-- 1 root root 265 Mei 13 06:31 /gvwstate.dat It is safe to ignore?

percona-xtradb-cluster-galera-3.x
Version: 3.9.3494.trusty

garb open file(./gvwstate.dat.tmp) failed(Permission denied)

Lastest Forum Posts - May 18, 2015 - 10:43pm
when a node restarted its service, belwo warning message will appear

2015-05-19 12:35:28.097 WARN: open file(./gvwstate.dat.tmp) failed(Permission denied)

: $ ls -l /gvwstate.dat -rw-r--r-- 1 root root 265 Mei 13 06:31 /gvwstate.dat It is safe to ignore?

percona-xtradb-cluster-galera-3.x
Version: 3.9.3494.trusty

Pages

Subscribe to Percona aggregator
]]>