As Keith announced today, there are two more Oracle ACE Directors for MySQL expertise. In case you are wondering how an ACE Director compares to a regular ACE, here is an overview and some FAQ.
Data seem sometimes to have their own life and will, and they refuse to behave as we wish.
Then, you need a firm hand to tame the wild data and turn them into quiet and obeying pets.
The MySQL DevRoom at FOSDEM is ready. The schedule has been voted. Thanks to all who have participated. Now, let's make sure that the event is successful. The schedule is juicy, and not only because I have three talks in it! ![]() |
There is a room dedicated to MySQL at FOSDEM 2012. (Thanks to @lefred for organizing).
The CfP has received 37 submissions, but there will be time slots only for 12 to 15 talks. So now it's up to the community. If you want to attend a particular talk, you should vote for it.
Like in previous years, the selection of the talks is public. You can see the list of the proposals, with the instructions, which I repeat here.
You can vote either publicly, using Twitter, or privately, by sending an email. Each talk proposal will be referred by the number immediately after the title in this page. This number indicates the order in which the proposals were received.
In public, you should send a tweet to @opensqlcamp, indicating a maximum of 12 talks that you would like to see, in the order you like them. e.g. "@opensqlcamp #FOSDEM2012 1,2,3,4,5,6,7,8,9,10,11,12 http://bit.ly/mysql_fosdem_2012" (adding the link will help others to find the page.
In private, by email at mysqlfriends AT gmail DOT com, using the same method used for Twitter. Maximum 12 talks, in the order of your preference.
In both cases, votes for your preferences will result in 1 point for each talk. In case of equal voting, we will assign 12 points to the first in the list, 11 to the second, and so on. We'll do the tally, and choose the most popular ones.
Anonymous votes either by Twitter or email won't be counted. If you want your vote to count, make sure your twitter account has a recognized name (or known nick) on it. If your email address doesn't spell your name, please sign the message with your real one.
DEADLINE: Your votes must be entered by January 8th, 2011.
|
$ make_sandbox --export_binaries --add_prefix=ps \ Percona-Server-5.5.11-rel20.2-114.Darwin.i386.tar.gz \ -- --sandbox_directory=msb_ps5_5_11 unpacking Percona-Server-5.5.11-rel20.2-114.Darwin.i386.tar.gz […] installing with the following parameters: upper_directory = /Users/gmax/sandboxes sandbox_directory = msb_ps5_5_11 […] basedir = $HOME/opt/mysql/ps5.5.11 tmpdir = […] Your sandbox server was installed in $HOME/sandboxes/msb_ps5_5_11After the binary export, subsequent installations will be easier:
$ make_sandbox ps5.5.11The same commands can be used for MariaDB. At the moment, make_sandbox does not recognize other packages, but adding them should not be a big deal, provided that such packages look like MySQL. It wouldn't work with Drizzle, because it lacks the main ingredients for MySQL installation.
$ make_sandbox 5.1.60 -- --high_performance […] innodb-flush-method=O_DIRECT ; \ innodb-log-file-size=50M ; \ innodb_buffer_pool_size=512M ; \ max_allowed_packet=48M ; \ max-connections=350 ; \ innodb-additional-mem-pool-size=50M ; \ innodb-log-buffer-size=50M ; sync_binlog=0 ; \ innodb-thread-concurrency=0 ; log-error=msandbox.err […]
$ make_sandbox 5.1.57 -- --master
[…]
my_clause = server-id=5157 ; log-bin=mysql-bin ; log-error=msandbox.err
[…]
Your sandbox server was installed in $HOME/sandboxes/msb_5_1_57
$ make_sandbox 5.5.10 -- --slaveof='master_port=5157'
[…]
my_clause = server-id=5510 ; log-bin=mysql-bin ; log-error=msandbox.err
[…]
Your sandbox server was installed in $HOME/sandboxes/msb_5_5_10
$ ~/sandboxes/msb_5_1_57/use -e 'show master status'
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 106 | | |
+------------------+----------+--------------+------------------+
$ ~/sandboxes/msb_5_5_10/use -e 'show slave status\G'
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 127.0.0.1
Master_User: rsandbox
Master_Port: 5157
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 106
Relay_Log_File: mysql_sandbox5510-relay-bin.000002
Relay_Log_Pos: 252
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 106
Relay_Log_Space: 420
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 5157
You can download MySQL::Sandbox from either launchpad or CPAN.
Unfortunately, there is no way to remove this from generated syntax with this command.(Emphasis mine).
mysql> show create table mytest\G
*************************** 1. row ***************************
Table: mytest
Create Table: CREATE TABLE `mytest` (
`id` int(11) NOT NULL,
`description` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
Of course, there is a way!mysql> pager tr -d '`'
PAGER set to 'tr -d '`''
mysql> show create table mytest\G
*************************** 1. row ***************************
Table: mytest
Create Table: CREATE TABLE mytest (
id int(11) NOT NULL,
description varchar(50) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
Never say "there is no way!"$ mysql -e 'show create table test.mytest\G' | tr -d '`'
*************************** 1. row ***************************
Table: mytest
Create Table: CREATE TABLE mytest (
id int(11) NOT NULL,
description varchar(50) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
Fig 1. Master/Slave topology | Legend |
Fig 2. Fan-in slave, or multiple sources |
Fig 3. all-to-all three nodes | Fig 4. All-to-all four nodes |
Fig 5. All-masters star topology |
Fig 6. extending an all-to-all topology | Fig 7. Extending a star topology |
|
I will be a speaker at Percona Live - London 2011, and I am looking forward to the event, which is packed with great content. A whopping 40 session of MySQL content, plus 3 keynotes and 14 tutorials. It's enough to keep every MySQL enthusiast busy.
Continuent speakers will be particularly busy, as between me and Robert Hodges, we will be on stage four times on Tuesday, October 25th.
|
# # using tungsten-replicator 2.0.4 # TUNGSTEN_HOME=/home/tungsten/installs/master_slave ./tools/tungsten-installer \ --master-slave \ --master-host=r1 \ --datasource-user=tungsten \ --datasource-password=secret \ --service-name=dragon \ --home-directory=$TUNGSTEN_HOME \ --cluster-hosts=r1,r2,r3,r4 \ --start-and-reportIf you want to upgrade to the very latest Tungsten Replicator 2.0.5, build 321, this is what you need to do.
# # using tungsten-replicator 2.0.5-321 (get it from bit.ly/tr20_builds) # TUNGSTEN_HOME=/home/tungsten/installs/master_slave HOSTS=(r1 r2 r3 r4) for HOST in ${HOSTS[*]} do ssh $HOST $TUNGSTEN_HOME/tungsten/tungsten-replicator/bin/replicator stop ./tools/update --host=$HOST --user=tungsten --release-directory=$TUNGSTEN_HOME -q $$TUNGSTEN_HOME/tungsten/tungsten-replicator/bin/trepctl -host $HOST services doneOne benefit of this procedure, in addition to being brief and effective, is that the previous binaries are preserved. Before the upgrade, you will see:
$ ls -lh ~/installs/master_slave/ ~/installs/master_slave/releases /home/tungsten/installs/master_slave/: total 32K drwxrwxr-x 3 tungsten tungsten 4.0K Sep 22 22:03 backups drwxrwxr-x 2 tungsten tungsten 4.0K Sep 22 22:03 configs drwxrwxr-x 3 tungsten tungsten 4.0K Sep 22 22:03 relay drwxrwxr-x 4 tungsten tungsten 4.0K Sep 22 22:06 releases drwxrwxr-x 2 tungsten tungsten 4.0K Sep 22 22:03 service-logs drwxrwxr-x 2 tungsten tungsten 4.0K Sep 22 22:03 share drwxrwxr-x 3 tungsten tungsten 4.0K Sep 22 22:03 thl lrwxrwxrwx 1 tungsten tungsten 75 Sep 22 22:06 tungsten -> /home/tungsten/installs/master_slave/releases/tungsten-replicator-2.0.4 /home/tungsten/installs/master_slave/releases: total 8.0K drwxr-xr-x 6 tungsten tungsten 4.0K Sep 22 22:03 tungsten-replicator-2.0.4The 'tungsten' directory is a symlink to the actual binaries inside the 'releases' directory. After the upgrade, the same directory looks like this:
ls -lh ~/installs/master_slave/ ~/installs/master_slave/releases /home/tungsten/installs/master_slave/: total 32K drwxrwxr-x 3 tungsten tungsten 4.0K Sep 22 22:03 backups drwxrwxr-x 2 tungsten tungsten 4.0K Sep 22 22:03 configs drwxrwxr-x 3 tungsten tungsten 4.0K Sep 22 22:03 relay drwxrwxr-x 4 tungsten tungsten 4.0K Sep 22 22:06 releases drwxrwxr-x 2 tungsten tungsten 4.0K Sep 22 22:03 service-logs drwxrwxr-x 2 tungsten tungsten 4.0K Sep 22 22:03 share drwxrwxr-x 3 tungsten tungsten 4.0K Sep 22 22:03 thl lrwxrwxrwx 1 tungsten tungsten 75 Sep 22 22:06 tungsten -> /home/tungsten/installs/master_slave/releases/tungsten-replicator-2.0.5-321 /home/tungsten/installs/master_slave/releases: total 8.0K drwxr-xr-x 6 tungsten tungsten 4.0K Sep 22 22:03 tungsten-replicator-2.0.4 drwxr-xr-x 6 tungsten tungsten 4.0K Sep 22 22:06 tungsten-replicator-2.0.5-321If you did some manual change to the files in 2.0.4, you will be able to retrieve them. Upgrading from earlier versions of Tungsten Replicator is not as smooth. Since we changed the installation format, it has become incompatible from previous versions. Clusters running TR 2.0.3 need to be reinstalled manually. The next upgrade, though, will be much faster!