Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| public:mysql [2022/07/19 23:25] – [replication account creation] typo Nico | public:mysql [2022/08/04 15:35] (current) – fix indent Nico | ||
|---|---|---|---|
| Line 61: | Line 61: | ||
| * Flush all the tables and block write statements | * Flush all the tables and block write statements | ||
| + | |||
| <code sql> | <code sql> | ||
| mysql> FLUSH TABLES WITH READ LOCK; | mysql> FLUSH TABLES WITH READ LOCK; | ||
| </ | </ | ||
| + | |||
| * use tar to create an archive that includes all databases | * use tar to create an archive that includes all databases | ||
| + | |||
| <code bash># tar -cvf / | <code bash># tar -cvf / | ||
| + | |||
| * read the value of the current binary log name and offset on the master: | * read the value of the current binary log name and offset on the master: | ||
| + | |||
| <code sql> | <code sql> | ||
| mysql > SHOW MASTER STATUS; | mysql > SHOW MASTER STATUS; | ||
| Line 75: | Line 80: | ||
| +---------------+----------+--------------+------------------+ | +---------------+----------+--------------+------------------+ | ||
| </ | </ | ||
| + | |||
| * Release the lock | * Release the lock | ||
| + | |||
| <code sql> | <code sql> | ||
| mysql> UNLOCK TABLES; | mysql> UNLOCK TABLES; | ||
| </ | </ | ||
| - | * Here is a backup script you can use (remember to use it on the " | + | * Here is a backup script you can use (on a daily use, remember to use it on the " |
| - | < | + | < |
| #!/bin/sh | #!/bin/sh | ||
| Line 96: | Line 103: | ||
| for i in `echo 'show databases;' | for i in `echo 'show databases;' | ||
| do | do | ||
| - | echo -n " ---> | + | echo -n " ---> |
| mysqldump --add-drop-table --add-locks --create-options --disable-keys --extended-insert --single-transaction\ | mysqldump --add-drop-table --add-locks --create-options --disable-keys --extended-insert --single-transaction\ | ||
| --databases --lock-tables --quick --set-charset $i > ${BACKUPDIR}/ | --databases --lock-tables --quick --set-charset $i > ${BACKUPDIR}/ | ||
| Line 114: | Line 121: | ||
| fi | fi | ||
| </ | </ | ||
| + | |||
| ==== slave setup ==== | ==== slave setup ==== | ||
| * copy and extract database backup on the slave | * copy and extract database backup on the slave | ||
| Line 122: | Line 130: | ||
| report-host = slave_name | report-host = slave_name | ||
| </ | </ | ||
| + | |||
| * unpack the snapshot | * unpack the snapshot | ||
| * Execute the following statement on the slave | * Execute the following statement on the slave | ||
| Line 132: | Line 141: | ||
| -> | -> | ||
| </ | </ | ||
| + | |||
| * Execute START SLAVE on the slave. | * Execute START SLAVE on the slave. | ||
| Line 140: | Line 150: | ||
| If MySQLTuner reports fragmented tables, you can check them all with: | If MySQLTuner reports fragmented tables, you can check them all with: | ||
| - | < | + | |
| + | < | ||
| mysqlcheck -o --all-databases | mysqlcheck -o --all-databases | ||
| </ | </ | ||
| + | |||
| ===== troubleshooting ===== | ===== troubleshooting ===== | ||
| Line 162: | Line 174: | ||
| ==== rebuild database indexes ==== | ==== rebuild database indexes ==== | ||
| - | < | + | < |
| - | # mysqlcheck -p -r -q -q < | + | # mysqlcheck -p -r -q -q < |
| </ | </ | ||
| Line 170: | Line 182: | ||
| * start MySQL without authentification | * start MySQL without authentification | ||
| - | < | + | |
| + | < | ||
| # / | # / | ||
| </ | </ | ||
| + | |||
| * connect to MySQL and change password | * connect to MySQL and change password | ||
| + | |||
| <code sql> | <code sql> | ||
| # mysql | # mysql | ||