Difference between revisions of "MySQL"
From Briki
| Line 32: | Line 32: | ||
<pre> | <pre> | ||
sudo find /var/lib/mysql -name *.MYI -exec myisamchk -r {} \; | sudo find /var/lib/mysql -name *.MYI -exec myisamchk -r {} \; | ||
| + | </pre> | ||
| + | |||
| + | == Copying a database between hosts == | ||
| + | * On the source: | ||
| + | <pre> | ||
| + | mysqldump <db_name> -u root -p > file.sql | ||
| + | </pre> | ||
| + | * On the target: | ||
| + | <pre> | ||
| + | mysqladmin create <db_name> -u root -p | ||
| + | cat file.sql | mysql <db_name> -u root -p | ||
</pre> | </pre> | ||
Revision as of 21:26, 3 February 2010
Contents
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