====== 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]