====== MySQL ====== ====== Встановлення ====== ====== Керування ====== ===== Бази даних ===== [[https://dev.mysql.com/doc/refman/5.7/en/alter-table.html | 13.1.8 ALTER TABLE Syntax]] ===== Користувачі ===== ====== Резервна копія ====== http://webcheatsheet.com/SQL/mysql_backup_restore.php ===== Створення ===== $ mysqldump -u user -p dbname > backupfile.sql Тут * ''user'' -- ім'я користувача для доступу до баз даних * ''dbname'' -- назва бази даних, яку потрібно скопіювати * ''backupfile.sql'' -- ім'я файлу, до якого зберегти резервну копію Наприклад, створити копію бази ''TestBase'' у файлі ''TestBase_backup.sql'' можна таким чином: $ mysqldump -u root -p TestBase > TestBase_backup.sql Якщо потрібно зробити копію лише деяких таблиць з бази даних, назви цих таблиць потрібно перелічити одразу після назви бази даних: $ mysqldump -u root -p TestBase table1 table2 table3 > TestBase_tables_backup.sql Можна експортувати одразу кілька баз даних до одного файлу: $ mysqldump -u root -p --databases TestBase Base2 Base3 > Bases_backup.sql Також можна однією командою експортувати одразу всі бази даних: $ mysqldump -u root -p --all-databases > alldb_backup.sql Іноді буває корисним додати такі параметри: * --add-drop-table: додає команду ''DROP TABLE'' перед кожною командою створення таблиці ''CREATE TABLE''. Це може бути корисним для імпорту таблиць, які вже існують у базі даних. Тоді їх буде автоматично видалено та замінено резервними копіями. * --no-data: Експортує лише структуру бази даних, без її вмісту. * --add-locks: Додає команди ''LOCK TABLES'' та ''UNLOCK TABLES''. Можна також стиснути архіватором експортовану копію баз даних "на льоту": $ mysqldump -u user -p dbname | gzip -9 > backupfile.sql.gz ===== Відновлення ===== Відновити резервну копію однієї бази даних: $ mysql -u user -p dbname < backupfile.sql Відновити резервну копію бази даних зі стисненого файлу: $ gunzip < backupfile.sql.gz | mysql -u user -p dbname FIXME mysqlimport -u [uname] -p[pass] [dbname] [backupfile.sql]