Difference between revisions of "MySQL"
(Created page with "== mySQL == mySQL is a popular open-source database... well, it used to be. It has since been gobbled up by the monster that is Sun/Oracle. While aspects of the database remain ...") |
(→mySQL) |
||
| Line 1: | Line 1: | ||
| − | == mySQL == | + | == Installing mySQL == |
mySQL is a popular open-source database... well, it used to be. It has since been gobbled up by the monster that is Sun/Oracle. While aspects of the database remain open source, many of the open-source community are gradually moving away from mySQL. That said, it is still arguably the most convenient and widely used non-commercial database product in the world. | mySQL is a popular open-source database... well, it used to be. It has since been gobbled up by the monster that is Sun/Oracle. While aspects of the database remain open source, many of the open-source community are gradually moving away from mySQL. That said, it is still arguably the most convenient and widely used non-commercial database product in the world. | ||
| Line 29: | Line 29: | ||
Finally, to exit mySQL, enter | Finally, to exit mySQL, enter | ||
mysql> quit | mysql> quit | ||
| + | |||
| + | == Backing up mySQL == | ||
| + | |||
| + | You should back up mySQL regularly, perhaps using a cron job or otherwise. Here is an example of a script capable of backing up an entire mySQL database. | ||
| + | '''$''' sudo nano -w /usr/bin/backupmysql | ||
| + | Add the following to the file | ||
| + | #!/bin/sh | ||
| + | datum=`/bin/date +%Y%m%d-%H` | ||
| + | /usr/bin/mysqldump --user=root --password=<yourpassword> --lock-all-tables \ | ||
| + | --all-databases > /path/to/backup-${datum}.sql | ||
| + | Make the file executable | ||
| + | '''$''' sudo chmod 775 /usr/bin/backupmysql | ||
| + | You can now back up your entire mySQL database by running this script. | ||
| + | |||
| + | == Restoring mySQL == | ||
| + | |||
| + | To restore mySQL based on a backup file you've created, simply run the command | ||
| + | '''$''' mysql -u root -p < /path/to/yourbackup.sql | ||
Revision as of 08:59, 9 May 2011
Installing mySQL
mySQL is a popular open-source database... well, it used to be. It has since been gobbled up by the monster that is Sun/Oracle. While aspects of the database remain open source, many of the open-source community are gradually moving away from mySQL. That said, it is still arguably the most convenient and widely used non-commercial database product in the world.
Chances are mysql has already been emerged on your system as a dependency for some other package. But in case it hasn't
$ sudo emerge -av mysql
After the package has emerged, we'll need to set it up, start it, and add it to startup.
$ sudo /usr/bin/mysql_install_db $ sudo /etc/init.d/mysql start $ sudo rc-update add mysql default
Next we'll set a root password for mySQL.
$ sudo /usr/bin/mysqladmin -u root password '<yourpassword>'
To log in to mysql, type
$ mysql -u root -p
and enter the password you supplied above.
To create a database, enter
mysql> CREATE DATABASE <yourdatabase>;
To create a user, enter
mysql> CREATE USER 'yourmysqluser'@'localhost';
To set their password, enter
mysql> set password for <yourmysqluser>@localhost = password('<yourpassword>');
To grant that user privileges full permissions on a database, enter
mysql> grant ALL on <yourdatabase>.* to <yourmysqluser>@localhost;
Finally, to exit mySQL, enter
mysql> quit
Backing up mySQL
You should back up mySQL regularly, perhaps using a cron job or otherwise. Here is an example of a script capable of backing up an entire mySQL database.
$ sudo nano -w /usr/bin/backupmysql
Add the following to the file
#!/bin/sh
datum=`/bin/date +%Y%m%d-%H`
/usr/bin/mysqldump --user=root --password=<yourpassword> --lock-all-tables \
--all-databases > /path/to/backup-${datum}.sql
Make the file executable
$ sudo chmod 775 /usr/bin/backupmysql
You can now back up your entire mySQL database by running this script.
Restoring mySQL
To restore mySQL based on a backup file you've created, simply run the command
$ mysql -u root -p < /path/to/yourbackup.sql