MySQL

From Briki
Revision as of 21:26, 3 February 2010 by Andrew (talk | contribs)
Jump to: navigation, search

Assigning passwords to users

Login to mysql as the relevant user and run:

SET PASSWORD = PASSWORD('biscuit');

Creating new users

Login to mysql as root, and run:

GRANT ALL ON database.* TO myuser@localhost IDENTIFIED BY 'password';

Or, to create a user with no password:

GRANT ALL ON database.* TO myuser@localhost;

To allow login for a user from a remote host (2 lines are needed because, without the first, the user privileges default to those of the anonymous local user):

GRANT ALL ON database.* TO myuser@localhost IDENTIFIED BY 'password';
GRANT ALL ON database.* TO myuser@'%' IDENTIFIED BY 'password';

Obviously, different privileges can be assigned to databases and tables. To revoke privileges, the syntax is:

REVOKE ALL ON database.* FROM myuser@localhost;

Show privileges

SHOW GRANTS FOR 'user'@'host';

Recover all corrupt tables

sudo find /var/lib/mysql -name *.MYI -exec myisamchk -r {} \;

Copying a database between hosts

  • On the source:
mysqldump <db_name> -u root -p > file.sql
  • On the target:
mysqladmin create <db_name> -u root -p
cat file.sql | mysql <db_name> -u root -p