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

Прогресс восстановления дампа с помощью pv

Просматриваем список баз без входа в mysql:

$ mysqlshow -u USER -pPASSWORD

Просматриваем список таблиц без входа в mysql CLI:

$ mysqlshow -u USER -pPASSWORD DATABSE

Выполняем комманды SQL без входа в mysql CLI:

$ echo "show databases\G" | mysql -u USER -pPASSWORD

 

Полезные флаги mysqldump:

  • -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 варианта значений.

 

 

 

Теги: hint, MariaDB, MySQL

Комментарии (0)