MySQL Quick Reference


This page is where I am going to be compiling all of the MySQL related material that I find myself looking up time and time again. So here it is all in one spot.

From myself (or other misc. sources)

If you want to change your password on borg, you can despite what the help desk manual says - simply log into mysql and type:

set password = password("yournewpassword");

You can spare yourself from always typing in your password when logging into mysql by creating a .my.cnf file in your home directory. In it put:

[client]
password=yourpassword
user=yourusername
database=yourdatebasename

Make sure that you keep this file chmod 600. Also potentially useful for people who do larger queries: put the line pager=less in that file as well and when you run a query it is as though the result set was piped into less (you can use more if you are that type of person). Very nice. :)

From the MySQL Documentation

DATE_FORMAT(date,format)

Formats the date value according to the format string. The following specifiers may be used in the format string:

SpecifierDescription
%MMonth name (January..December)
%WWeekday name (Sunday..Saturday)
%DDay of the month with English suffix (0th, 1st, 2nd, 3rd, etc.)
%YYear, numeric, 4 digits
%yYear, numeric, 2 digits
%XYear for the week where Sunday is the first day of the week, numeric, 4 digits, used with ‘%V’
%xYear for the week, where Monday is the first day of the week, numeric, 4 digits, used with ‘%v’
%aAbbreviated weekday name (Sun..Sat)
%dDay of the month, numeric (00..31)
%eDay of the month, numeric (0..31)
%mMonth, numeric (00..12)
%cMonth, numeric (0..12)
%bAbbreviated month name (Jan..Dec)
%jDay of year (001..366)
%HHour (00..23)
%kHour (0..23)
%hHour (01..12)
%IHour (01..12)
%lHour (1..12)
%iMinutes, numeric (00..59)
%rTime, 12-hour (hh:mm:ss [AP]M)
%TTime, 24-hour (hh:mm:ss)
%SSeconds (00..59)
%sSeconds (00..59)
%pAM or PM
%wDay of the week (0=Sunday..6=Saturday)
%UWeek (00..53), where Sunday is the first day of the week
%uWeek (00..53), where Monday is the first day of the week
%VWeek (01..53), where Sunday is the first day of the week. Used with ‘%X’
%vWeek (01..53), where Monday is the first day of the week. Used with ‘%x’
%%A literal %.

All other characters are just copied to the result without interpretation

Restoring MySQL root password

Well crap… you lost your password. And your MySQL root password no less. That happens when you don’t use it very often or you have some weird web hosting tool that installed mysql for you and didn’t bother to mention the root password (but it did set one thank <?=$deity?>). So this is how to make it all better. This of course assumes some familiarity with Unix (and that you are dealing with a unix system) and that you have root access to the system:

  1. Kill the mysqld process with a nice kill <mysql pid> (you can lookup the mysqld pid using ps).
  2. Restart mysqld with the --skip-grant-tables option.
  3. Log into mysql as so: mysql -u root.
  4. Type: flush privileges;
  5. Type: grant all on *.* to root@localhost identified by '_your_new_pass_';.
  6. Exit mysql and restart the server in the way that you would normally (or reboot).
Written by Colin Bate