It is evident and beyond doubt now that the new media technologies like Twitter and Facebook are not going to wipe-out the blogs, rather they are complimenting each other very nicely and it seems they were made for each other. This Log Buffer Edition enhances this match, and presents you Log Buffer #272. Oracle: It [...]
This week I was given the task of repopulating our entire primary database cluster. This was due to an alter that had to be performed on our largest table. It was easiest to run it on one host and populate the dataset from that host everywhere.
I recalled a while back reading a blog post from Tumblr about how to chain a copy to multiple hosts using a combination of nc, tar, and pigz. I used this, with a few other things to greatly speed up our repopulation process. As I was repopulating production servers, I did a combination of raw data copy and xtrabackup streams across our servers, depending on the position in our replication setup.
For a normal straight copy, here’s what I did:
On the last host, configure netcat to listen and then pipe the output through pigz and tar to …
[Read more]Read the original article at Consulting essentials: Building your business
In the last two posts on how to build a successful consulting business I shared advice and tips on closing deals and managing and completing your engagements.
This post will look at where to focus your efforts in order to sustain your consulting business, and build skills.
Focus on your subject matter expertise
Being a subject matter expert takes years of education, and professional experience to build. It’s your most valuable asset. Build it, and use it. This is not to say there isn’t great value in …
[Read more]
Oracle enhanced the bugs.mysql.com site to provide a better experience
for users to submit contributions !
A new 'Contributions' tab has been added to the bugs.mysql.com user
interface. This tab will allow users to have a defined space for
their contributions. An Oracle Contributor Agreement (OCA) will still be required for all
contributions. If needed, the OCA FAQ is posted here.
Please take advantage of this new feature when you help support
and enhance MySQL !
Last couple of week I was looking for an easier approch to manage the Databases created on Amazon RDS instances. I had to run through a tedious set of steps in carrying out routine stuff like introducing new updates, taking daily backups and moving it to an Amazon S3 bucket, etc… Before getting into touch […]
Interestingly, I have given the presentation on MySQL and Security at least 4 times in the past 6 weeks* and it was only last night, with the sharp minds at Baron’s Central Virginia MySQL Meetup Group (sadly Baron was not there!), that someone asked about when encryption happens in the MySQL handshake.
We had been talking about how MySQL authenticates users, and how if there are no ACL’s set for a given host, MySQL will reject connections from that host – even “telnet host 3306″ will be refused – and that’s when a clever audience member asked where in the handshake process encryption started. Is it before the username is sent? Before the password is sent? Does it encrypt all traffic, even the handshake traffic?
I think that’s an excellent question, and I know there’s a few sharp minds out there who probably know the …
[Read more]
Today let’s talk about a resource very useful on MySQL, the
FullText Index and Search
This resource is very powerful, today on versions 5.5 is just
available to MyISAM engine, but, like we can see on MySQL FullText documentation, it will be
available also to InnoDB on MySQL 5.6
Usually when we want to search for a word or expression, we use
LIKE ‘%word%’, in case we are looking for more than one word
we use LIKE ‘%word1%word2%’, what many people don’t know is
for this kind of search is expensive and not optimized to our
MySQL, in this cases we solve our problems with FullText
Index
the syntax is easy, MATHC() … AGAINST (), where MATCH we
specified the name(s) of column(s) which we are looking for, yes,
we can look for more then one column, we just need all this
columns specified on our index …
In the latest episode of our “Meet The MySQL Experts” podcast, Luis Soares, Engineering Manager of MySQL Replication discusses the new Global Transaction Identifiers (GTIDs) that are part of the latest MySQL 5.6 Development Release. We are also joined by Chuck Bell who discusses how the new MySQL HA utilities use GTIDs to create a self-healing replication topology.
In the podcast, we cover how GTIDs and the HA utilities are implemented, how they are configured and considerations for their use.
You can also learn more from Luis’ blog on GTIDs in MySQL 5.6 and Chuck’s …
[Read more]In the article about the role of a primary key, I mentioned that a secondary index in an InnoDB table consists not only of the values of its member columns, but also values of the table’s primary key are concatenated to the index. I.e. the primary key contents is part of every other index.
Assuming the following table structure:
CREATE TABLE `bets` ( `id` int(10) unsigned NOT NULL, `user_id` int(10) unsigned NOT NULL, `game_id` int(10) unsigned NOT NULL, ... PRIMARY KEY (`id`), KEY `user_id` (`user_id`) ) ENGINE=InnoDB
Here is the visualization:
If MySQL could use in queries these implicitly added values, it would maybe allow to save some space on listing the primary key columns at the end of an index explicitly. Let’s check various cases.
Row filtering
…[Read more]In (My)SQL, join is a means for combining records from two tables into a single set which can be either returned as is or used in another join. In order to perform the operation a join has to define the relationship between records in either table, as well as the way it will evaluate the relationship. The relationship itself is created through a set of conditions that are part of the join and usually are put inside ON clause. The rest is determined through a join type, which can either be an inner join or an outer join.
The SQL clauses that set the respective join type in a query are [INNER] JOIN and {LEFT | RIGHT} [OUTER] JOIN. As you can see the actual keywords INNER and OUTER are optional and can be omitted, however outer joins require specifying the direction – either left or right (more on that later).
Examples of queries using …
[Read more]