MySQL шпаргалка
Если после ключа -p не указать пароль, он будет запрошен в интерактивном режиме. Это предпочтительный метод указания пароля!
Заходим в консоль mysql:
$ mysql -u USER -pPASSWORD
Создаем суперпользователя для удаленного доступа:
> CREATE USER 'admin'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
Создаём дамп базы:
$ mysqldump -u USER -pPASSWORD DATABASE > /path/to/dump.sql
Создаем дамп базы удаленного сервера:
$ mysqldump -u USER -pPASSWORD -hREMOTE_HOST DATABASE > /path/to/dump.sql
Создаем дамп конкретной таблицы:
$ mysqldump -u USER -pPASSWORD DATABASE TABLE_1 TABLE_N > /path/to/table.sql
Создаём дамп структуры таблиц(без данных):
$ mysqldump —no-data -u USER -pPASSWORD DATABASE > /path/to/dump.sql
Восстанавливаем базу/таблицу из дампа:
$ mysql -u USER -pPASSWORD DATABASE < /path/to/dump.sql
Восстанавливаем базу/таблицу из дампа с отображение прогресса:
Сначала установим утилиту pv:
$ sudo apt-get install pv
Собственно восстанавливаем базу:
$ pv /path/to/dump.sql | mysql -u USER -pPASSWORD DATABASE
Просматриваем список баз без входа в mysql:
$ mysqlshow -u USER -pPASSWORD
Просматриваем список таблиц без входа в mysql CLI:
$ mysqlshow -u USER -pPASSWORD DATABSE
Выполняем комманды SQL без входа в mysql CLI:
$ echo "show databases\G" | mysql -u USER -pPASSWORD
- -Q Экранирует имена обратными кавычками
- -c включает имена колонок в INSERT'ы
- -e делает расширенную вставку. Дамп получается меньше и занимает меньше времени
- --single-transaction востанавливает из дампа одной транзакцией. Экономит время и гарантирует целостность данных.
$ mysqldump -Q -c -e -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql
Тип | Применение | Диапазон |
---|---|---|
TINYINT | Очень маленькое целое число, флаг(boolean) | Диапазон числа со знаком от –128 до 127. Диапазон числа без знака (unsigned) от 0 до 255. |
SMALLINT | Маленькое целое число | Диапазон числа со знаком от –32768 до 32767. Диапазон числа без знака (unsigned) от 0 до 65535. |
MEDIUMINT | Среднее целое число | Диапазон числа со знаком от –8388608 до 8388607. Диапазон числа без знака (unsigned) от 0 до 16777215. |
INT / INTEGER | Целое число | Диапазон числа со знаком от –2147483648 до 2147483647. Диапазон числа без знака (unsigned) от 0 до 4294967295. |
BIGINT | Большое целое число | Диапазон числа со знаком от –9223372036854775808 до 9223372036854775807. Диапазон числа без знака (unsigned) от 0 до 18446744073709551615. |
FLOAT | Малое число с плавающей запятой. | Диапазоны от –3.402823466E+38 до –1.175494351E-38, 0 и 1.175494351E-38 до 3.402823466E+38. Если количество знаков после запятой не установлено или <= 24 это число с плавающей запятой одинарной точности. Не может быть числом без знака. |
DOUBLE, DOUBLE PRECISION, REAL |
Нормальное число с плавающей запятой | Диапазоны от -1.7976931348623157E+308 до -2.2250738585072014E-308, 0 и 2.2250738585072014E-308 до 1.7976931348623157E+308. Если количество знаков после запятой не установлено или 25 <= количество знаков <= 53 означает число с плавающей запятой двойной точности. Не может быть числом без знака. |
DECIMAL, NUMERIC |
Распакованное число с плавающей запятой | Работает подобно типу данных CHAR: «распакованный» означает, что число хранится в виде строки, используя один символ для каждой цифры-значения. Символ десятичной запятой и символ отрицательного числа "-" не учитывается в длину. Если десятичное значение равно 0, значение не будет иметь десятичной запятой или дробной части. Максимальный размер для DECIMAL значение такое же, как и для DOUBLE, но фактический диапазон для данного столбца DECIMAL может быть ограничен в выборе длины и десятичные дроби. DECIMAL(3,2) = 100,50 |
DATE | Дата | Дата в диапазоне от «1000-01-01» до «9999-12-31». MySQL хранит поле типа DATE в виде «YYYY-MM-DD» (ГГГГ-ММ-ДД). |
DATETIME | Дата и время | Допустимые диапазоны от «1000-01-01 00:00:00» до «9999-12-31 23:59:59». MySQL хранит поле типа DATETIME в виде «YYYY-MM-DD HH:MM:SS» (ГГГГ-ММ-ДД ЧЧ-ММ-СС). |
TIMESTAMP | Дата и время | Диапазон от «1970-01-01 00:00:00» до, примерно, 2037 года. MySQL может хранить поле типа TIMESTAMP в видах «YYYYMMDDHHMMSS» (TIMESTAMP(14)), «YYMMDDHHMMSS» (TIMESTAMP(12)), «YYYYMMDD» (TIMESTAMP(8)) и др. |
TIME | Время | Диапазон от «-838:59:59» до «838:59:59». MySQL хранит поле TIME в виде «HH:MM:SS», но позволяет присваивать значения столбцам TIME с использованием либо строки или числа. |
YEAR | Год в 2- или 4- цифровом виде | Если вы используете 4 цифра, то допустимые значения 1901-2155, и 0000. Если 2 цифры, то 1970-2069 (70-69). MySQL хранит значения поля YEAR в формате «YYYY». 4 цифры по-умолчанию. |
CHAR | Строка фиксированной длины | Диапазон длины от 1 до 255 символов. Завершающие пробелы удаляются, когда значение извлекается. Значения CHAR сортируются и сравниваются без учета регистра в зависимости от кодировки по умолчанию, если не установлен флаг BINARY. Примечание: при хранении справа дополняются пробелами до указанной длины. |
VARCHAR | Строка переменной длины | Диапазон длины от 1 до 255 символов. Значения VARCHAR сортируются и сравниваются без учета регистра, если не установлен флаг BINARY. Примечание: конечные пробелы удаляются при сохранении (в отличие от спецификации ANSI SQL). |
TINYBLOB, TINYTEXT |
Строка или набор байт малой длины | BLOB или ТЕХТ с максимальной длиной 255 (2^8 - 1) байт (именно байт, а не символов, как пишут в интернетах). |
BLOB, TEXT |
Строка или набор байт малой длины | BLOB или ТЕХТ с максимальной длиной 65535 (2^16 - 1) байт. |
MEDIUMBLOB, MEDIUMTEXT |
Строка или набор байт средней длины | BLOB или ТЕХТ с максимальной длиной 16777215 (2^24 - 1) байт. |
LONGBLOB, LONGTEXT |
Строка или набор байт большой длины | BLOB или ТЕХТ с максимальной длиной 4294967295 (2^32 - 1) байт. |
ENUM | Перечисление | Строка-объект, который может принимать только одно значение, выбирается из списка значений «значение 1», «значение 2» или NULL. ENUM максимум может иметь 65535 различных значений. |
SET | Набор | Строка-объект, который может принимать ноль и более значений, каждоу из которых должно быть выбрано из списка значений «значение 1», «значение 2», … Поле SET может иметь максимум 64 варианта значений. |
Комментарии (0)