Per day:
Per Month:
Or more interestingly… What day are commits being made? Are we working over the weekend?
Do we work all night?
Drizzle hackers are just as likely to commit something at 3am as they are at 10am.
In this first Drizzle Podcast, Sheeri K. Cabral and Jay Pipes talk about what Drizzle is and how Drizzle is different from MySQL both technically and from a community standpoint.
Are you having problems getting up to speed on MySQL? Are you asking yourself “Is there a hands-on training course we can send a developer/system admin to learn MySQL?”. In response, at 42SQL we have put together two new training courses, MySQL Essentials and MySQL Operations.
MySQL Essentials Training Details
With MySQL Essentials we tackle the core essentials that a developer/system admin/junior DBA would require in order to support an initial development environment that uses MySQL. Essentials training teaches the following skills:
It’s a shame that MySQL does not provide better granularity when you want to look at all SQL statements being executed in a MySQL server. I canvas that you can with the general log, but the inherit starting/stopping problems in 5.0, improved in 5.1, but I would still like to see the option on a per connection basis, or even a time period. MySQL Proxy can provide a solution here but also with some caveats.
You should however in a NON production environment, take the time to enable the general log and look the SQL Statements. Prior to looking at the SQL, monitoring of the GLOBAL STATUS variables combined with Statpack revealed the following in a 1 minute interval.
==================================================================================================== Statement Activity …[Read more]
This neat one line command can be of interest when you are rebuilding a MySQL slave and replication is currently catching up.
$ watch --interval=1 --differences 'mysql -uuser -ppassword -e "show slave status\G"'
You will see the standard SHOW SLAVE STATUS output, but the watch command presents an updated view every second, and highlights differences. This can be useful in a background window to keep an eye on those ‘Seconds Behind Master’.
*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 10.10.10.10 Master_User: slave Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000626 Read_Master_Log_Pos: 88159239 Relay_Log_File: slave-relay.000005 Relay_Log_Pos: 426677632 Relay_Master_Log_File: mysql-bin.000621 …[Read more]
I had the opportunity to review a client’s production Drupal installation recently. This is a new site and traffic is just starting to pick up. Drupal is a popular LAMP stack open source CMS system using the MySQL Database.
Unfortunately I don’t always have the chance to focus on one product when consulting, sometimes the time can be minutes to a few hours. Some observations from looking at Drupal.
Disk footprint
Presently, volume and content is of a low volume, but expecting to ramp up. I do however find 90% of disk volume in one table called ‘watchdog’;
+--------------+--------------+--------------+-------------+--------+ | table_schema | total_mb | data_mb | index_mb | tables | +--------------+--------------+--------------+-------------+--------+ | xxxxx | 812.95555878 | …[Read more]
This week I was the invited speaker to give a 4 hr presentation to the Federal Government Sector in Washington DC on “Best Practices in Migrating to MySQL“. This was a followup to my day long “MySQL for the Oracle DBA Bootcamp” which I presented in Washington DC last year. It was good to see a number of attendees from my first DC presentation.
There was good attendance across various government departments and companies providing services to the government sector, as well a variety of job descriptions.
Thanks to Carahsoft and Sun/MySQL for organizing and sponsoring the event. Thanks also to Phil Hildebrand who provided fantastic support during my preparation answering all my SQL Server questions.
Thanks also …
[Read more]MySQL by default is vary lax with data validation. Silent conversions is a concept that is not a common practice in other databases. In MySQL, instead of throwing an error, a warning was thrown and many applications simply did not handle warnings. With the introduction of sql_mode=STRICT_ALL_TABLES (or TRADITIONAL), in MySQL 5, a better level of validation now exists.
My understanding was that Warnings are now thrown as Errors, therefore eliminating the need to do a SHOW WARNINGS to confirm any problems after every query (this is a performance overhead on a high volume system due to the round trip latency).
However I found an instance where MySQL in STRICT Mode still throws warnings, leading to the question, are there any other areas, and does the earlier statement “Warnings are now thrown as Errors” hold true.
Here is my seeding process to showing the problem.
mysql> create table i(i tinyint, unique key( …[Read more]
The current size of a MySQL 5.1.30 installation is around 420M.
$ du -sh . 426M .
A further breakdown.
$ du -sh * 213M bin 20K COPYING 9.8M docs 8.0K EXCEPTIONS-CLIENT 436K include 12K INSTALL-BINARY 121M lib 504K man 4.0K my.cnf 77M mysql-test 4.0K README 20K scripts 2.3M share 2.9M sql-bench 100K support-files
A means to reduce the footprint by 25% is to delete some unused stuff.
$ rm -rf docs/ mysql-test/ sql-bench/ $ du -sh . 337M .
It’s no big deal, however it certainly does cut down on verbose output in the backup logs removing the mysql-test directory and files.
Few days ago we were chatting in our corporate Campfire room and one of the guys asked me what do I think about Rails developers hiring process, what questions I’d ask a candidate, etc… This question started really long and interesting discussion and I’d like to share my thoughts on this question in this post.
So, first of all I would like to explain what kind of interviews I really hate Ever since I was thinking of myself as of a developer (many years ago) and was going to “software developer position” interviews I really hated questions like “What is the name and possible values of the third parameter of the function some_freakin_weird_func() from some_weird.h” or “How to declare a virtual destructor and when it could be useful?”… All my life I had pretty practical thinking and never bothered to learn APIs or some really deep language concepts that are useful in 1% of …
[Read more]