Начиная с MariaDB 10.4.6 , mariadb-check является символической mysqlcheck на mysqlcheck .
MariaDB начиная с 10.5.2
Начиная с MariaDB 10.5.2 , mariadb-check — это имя инструмента, а mysqlcheck — символическая ссылка.
mysqlcheck — это инструмент обслуживания, который позволяет проверять, восстанавливать, анализировать и оптимизировать несколько таблиц из командной строки.
По сути, это интерфейс командной строки для команд CHECK TABLE , REPAIR TABLE , ANALYZE TABLE и OPTIMIZE TABLE , поэтому, в отличие от myisamchk и aria_chk , требуется, чтобы сервер был запущен.
Этот инструмент не работает с таблицами разделов.
Using mysqlcheck
./client/mysqlcheck [OPTIONS] database [tables]
./client/mysqlcheck [OPTIONS] —databases DB1 [DB2 DB3. ]
./client/mysqlcheck [OPTIONS] —all-databases
mysqlcheck можно использовать для ПРОВЕРКИ (-c, -m, -C), REPAIR (-r), ANALYZE (-a) или OPTIMIZE (-o) таблиц. Некоторые параметры (например, -e или -q) можно использовать одновременно.
Запускаем через командную строку/терминал MySQL
Не все параметры поддерживаются всеми механизмами хранения.
Варианты -c,-r,-a и -o эксклюзивны друг для друга.
Параметр —check будет использоваться по умолчанию, если не указаны другие параметры. Вы можете изменить поведение по умолчанию, сделав символическую ссылку на двоичный файл или скопировав его куда-нибудь с другим именем, альтернативы:
mysqlrepair | Параметр по умолчанию будет -r ( —repair ) |
mysqlanalyze | По умолчанию используется опция -a ( —analyze ). |
mysqloptimize | По умолчанию используется опция -o ( —optimize ). |
Options
mysqlcheck поддерживает следующие параметры:
-A , —all-databases | Проверить все базы данных. Это то же самое, что и —databases со всеми выбранными базами данных. |
-1 , —all-in-1 | Вместо того,чтобы делать по одному запросу к каждой таблице,используйте один запрос к БД,называя все таблицы в БД в списке,разделенном запятыми. |
-a , —analyze | Проанализируй данные таблицы. |
—auto-repair | Если отмеченная таблица повреждена,автоматически исправьте ее.Восстановление будет произведено после того,как все таблицы будут проверены. |
—character-sets-dir=name | Каталог, в котором установлены файлы наборов символов . |
-c , —check | Проверьте таблицу на наличие ошибок. |
-C , —check-only-changed | Проверяйте только те таблицы,которые изменились с момента последней проверки или не были закрыты должным образом. |
-g , —check-upgrade | Проверьте таблицы на наличие изменений, зависящих от версии. Может использоваться с —auto-repair для исправления таблиц, требующих обновлений в зависимости от версии. Автоматически включает параметры —fix-db-names и —fix-table-names . Используется при обновлении |
—compress | Сжимайте всю информацию,передаваемую между клиентом и сервером,если оба варианта поддерживают сжатие. |
-B , —databases | Проверить несколько баз данных. Обратите внимание, что обычно mysqlcheck обрабатывает первый аргумент как имя базы данных, а следующие аргументы — как имена таблиц. При использовании этой опции таблицы не указываются, и все аргументы имени рассматриваются как имена базы данных. |
-# , —debug[=name] | Выходной журнал отладки.Часто это ‘d:t:o,filename’. |
—debug-check | Проверка использования памяти и открытия файла при выходе. |
—debug-info | Распечатайте кое-какую отладочную информацию на выходе. |
—default-auth=plugin | Используемый по умолчанию клиентский плагин для аутентификации. |
—default-character-set=name | Установите набор символов по умолчанию . |
-e , —extended | Если вы используете эту опцию с —check , это гарантирует, что таблица будет согласована на 100 процентов, но это займет много времени. Если вы используете этот параметр с —repair , он заставит использовать старый медленный метод восстановления с помощью кеша ключей вместо более быстрого восстановления путем сортировки. |
-F , —fast | Проверяйте только те таблицы,которые не были закрыты должным образом. |
—fix-db-names | Преобразование имен баз данных в формат, используемый начиная с MySQL 5.1. Затрагиваются только имена баз данных, содержащие специальные символы. Используется при обновлении со старой версии MySQL. |
—fix-table-names | Преобразуйте имена таблиц (включая представления ) в формат, используемый начиная с MySQL 5.1. Затрагиваются только имена таблиц, содержащие специальные символы. Используется при обновлении со старой версии MySQL. |
—flush | Промойте каждый стол после проверки.Это полезно,если вы не хотите,чтобы проверенные таблицы занимали место в кэше после проверки. |
-f , —force | Продолжайте,даже если мы получим ошибку SQL. |
-? , —help | Отобразите это справочное сообщение и выйдите. |
-h name , —host=name | Подключитесь к данному хосту. |
-m , —medium-check | Быстрее,чем при расширенной проверке,но находит только 99,99 процента всех ошибок.Должно быть достаточно хорошо для большинства случаев. |
-o , —optimize | Optimize tables. |
-p , —password[=name] | Пароль для использования при подключении к серверу. Если вы используете короткую форму параметра ( -p ), у вас не может быть пробела между параметром и паролем. Если вы не укажете значение пароля после параметра —password или -p в командной строке, mysqlcheck запросит его. Указание пароля в командной строке следует считать небезопасным. Вы можете использовать файл параметров, чтобы не вводить пароль в командной строке. |
-Z , —persistent | При использовании ANALYZE TABLE ( —analyze ), использует персистирующий вариант ALL, который заставляет двигатель-независимые статистики для этой таблицы будет обновлен. Добавлено в MariaDB 10.1.10 |
-W , —pipe | В Windows подключайтесь к серверу через именованный канал.Эта опция применяется только в том случае,если сервер поддерживает соединения по именованной трубе. |
—plugin-dir | Справочник для клиентских плагинов. |
-P num , —port=num | Номер порта для подключения или 0 по умолчанию для,в порядке предпочтения,my.cnf,$MYSQL_TCP_PORT,/etc/services,встроенный по умолчанию (3306). |
—process-tables | Выполните запрошенную операцию (проверка, исправление, анализ, оптимизация) над таблицами. Включено по умолчанию. Используйте —skip-process-tables для отключения. |
—process-views[=val] | Выполните запрошенную операцию (только CHECK VIEW или REPAIR VIEW ). Возможные значения NO, YES (исправить контрольную сумму, при необходимости добавить поле mariadb-version), UPGRADE_FROM_MYSQL (то же самое, что YES и переключить алгоритм MERGETEMPTABLE. |
—protocol=name | Протокол соединения (tcp,сокет,труба,память),используемый для подключения к серверу.Полезен,когда другие параметры соединения приводят к использованию протокола,отличного от того,который вы хотите. |
-q , —quick | Если вы используете эту опцию с CHECK TABLE,она предотвращает проверку строк на наличие неправильных ссылок.Это самая быстрая проверка.Если вы используете эту опцию с REPAIR TABLE,она будет пытаться восстановить только дерево индексов.Это самый быстрый метод восстановления таблицы. |
-r , —repair | Может исправить почти все,кроме уникальных ключей,которые не являются уникальными. |
—shared-memory-base-name | Имя общей памяти, которое будет использоваться для подключений Windows с использованием общей памяти к локальному серверу (запускается с параметром —shared-memory ). Чувствительный к регистру. |
-s , —silent | Печатайте только сообщения об ошибках. |
—skip-database | Не обрабатывайте БД (регистрозависимую),указанную в качестве аргумента. |
-S name , —socket=name | Для подключений к localhost,используйте файл Unix сокета,или,в Windows,название именованной трубы для использования. |
—ssl | Включает TLS . TLS также включен, даже если этот параметр не установлен, если заданы некоторые другие параметры TLS. Начиная с MariaDB 10.2 , опция —ssl по умолчанию не включает проверку сертификата сервера . Чтобы проверить сертификат сервера, пользователь должен указать параметр —ssl-verify-server-cert . |
—ssl-ca=name | Определяет путь к файлу PEM, который должен содержать один или несколько сертификатов X509 для доверенных центров сертификации (CA), которые будут использоваться для TLS . Этот параметр требует, чтобы вы использовали абсолютный путь, а не относительный. См. Раздел Обзор защищенных подключений: центры сертификации (ЦС) для получения дополнительной информации. Этот параметр подразумевает параметр —ssl . |
—ssl-capath=name | Определяет путь к каталогу, содержащему один или несколько файлов PEM, каждый из которых должен содержать один сертификат X509, который доверенный центр сертификации (CA) должен использовать для TLS . Этот параметр требует, чтобы вы использовали абсолютный путь, а не относительный. Каталог, указанный этой опцией, необходимо запустить с помощью команды openssl rehash . См. Раздел Обзор защищенных подключений: центры сертификации (ЦС) для получения дополнительной информации. Этот параметр поддерживается только в том случае, если клиент был создан с использованием OpenSSL или yaSSL. Если клиент был построен с использованием GnuTLS или Schannel, то этот параметр не поддерживается. См. TLS и библиотеки криптографии, используемые MariaDB для получения дополнительной информации о том, какие библиотеки используются на каких платформах. Этот вариант подразумевает —ssl вариант. |
—ssl-cert=name | Определяет путь к файлу сертификата X509, который будет использоваться для TLS . Этот параметр требует, чтобы вы использовали абсолютный путь, а не относительный. Этот параметр подразумевает параметр —ssl . |
—ssl-cipher=name | Список разрешенных шифров или комплектов шифров для использования для TLS . Этот параметр подразумевает параметр —ssl . |
—ssl-crl=name | Определяет путь к файлу PEM, который должен содержать один или несколько отозванных сертификатов X509 для использования для TLS . Этот параметр требует, чтобы вы использовали абсолютный путь, а не относительный. См. Раздел Обзор защищенных подключений: списки отзыва сертификатов (CRL) для получения дополнительной информации. Этот параметр поддерживается только в том случае, если клиент был создан с использованием OpenSSL или Schannel. Если клиент был построен с использованием yaSSL или GnuTLS, то этот вариант не поддерживается. См. TLS и библиотеки криптографии, используемые MariaDB для получения дополнительной информации о том, какие библиотеки используются на каких платформах. |
—ssl-crlpath=name | Определяет путь к каталогу, содержащему один или несколько файлов PEM, каждый из которых должен содержать один отозванный сертификат X509 для использования для TLS . Этот параметр требует, чтобы вы использовали абсолютный путь, а не относительный. Каталог, указанный этой опцией, необходимо запустить с помощью команды openssl rehash . См. Раздел Обзор защищенных подключений: списки отзыва сертификатов (CRL) для получения дополнительной информации. Эта опция поддерживается только в том случае, если клиент был построен с OpenSSL. Если клиент был построен с использованием yaSSL, GnuTLS или Schannel, то этот параметр не поддерживается. См. TLS и библиотеки криптографии, используемые MariaDB для получения дополнительной информации о том, какие библиотеки используются на каких платформах. |
—ssl-key=name | Определяет путь к файлу закрытого ключа, который будет использоваться для TLS . Этот параметр требует, чтобы вы использовали абсолютный путь, а не относительный. Этот параметр подразумевает параметр —ssl . |
—ssl-verify-server-cert | Включает проверку сертификата сервера . По умолчанию эта опция отключена. |
—tables | Переопределяет параметр —databases или -B , так что все аргументы имени, следующие за параметром, рассматриваются как имена таблиц. |
—use-frm | Для выполнения операций по восстановлению таблиц MyISAM,получите структуру таблицы из файла .frm,таким образом,таблица может быть восстановлена даже в случае повреждения заголовка .MYI. |
-u , —user=name | Пользователь для входа в систему,если он не является текущим пользователем. |
-v , —verbose | Распечатайте информацию о различных этапах. Вы можете использовать эту опцию несколько раз, чтобы получить еще больше информации. См. Mysqlcheck и подробное описание ниже. |
-V , —version | Вывод информации о версии и выход. |
—write-binlog | Запишите команды ANALYZE, OPTIMIZE и REPAIR TABLE в двоичный журнал . Включено по умолчанию; используйте —skip-write-binlog , когда команды не должны отправляться ведомым устройствам репликации. |
Option Files
Помимо чтения параметров из командной строки, mysqlcheck также может считывать параметры из файлов параметров . Если в файле параметров mysqlcheck указан неизвестный параметр, он игнорируется.
Как запустить mysql в командной строке [ консоль ]
Следующие опции относятся к тому,как инструменты командной строки MariaDB работают с файлами опций.Они должны быть приведены в качестве первого аргумента в командной строке:
—print-defaults | Распечатайте список аргументов программы и выйдите. |
—no-defaults | Не читайте опции по умолчанию из любого файла опций. |
—defaults-file=# | Читайте только опции по умолчанию из данного файла #. |
—defaults-extra-file=# | Читайте этот файл после чтения глобальных файлов. |
—defaults-group-suffix=# | В дополнение к группам опций по умолчанию,также читайте группы опций с этим суффиксом. |
В MariaDB 10.2 и более поздние версии mysqlcheck связанно с MariaDB Connector / C . Однако MariaDB Connector / C еще не выполняет синтаксический анализ файлов параметров для этого клиента. Это все еще выполняется кодом синтаксического анализа файла серверных опций. См. MDEV-19035 для получения дополнительной информации.
Option Groups
mysqlcheck считывает параметры из следующих групп параметров из файлов параметров :
[mysqlcheck] | Параметры, читаемые mysqlcheck , который включает как сервер MariaDB, так и сервер MySQL. |
[mariadb-check] | Параметры читаются mysqlcheck . Доступно, начиная с MariaDB 10.4.6 . |
[client] | Параметры, читаемые всеми клиентскими программами MariaDB и MySQL , включая клиентов MariaDB и MySQL. Например, mysqldump . |
[client-server] | Параметры, читаемые всеми клиентскими программами MariaDB и сервером MariaDB. Это полезно для таких параметров, как сокет и порт, которые являются общими для сервера и клиентов. |
[client-mariadb] | Параметры читаются всеми клиентскими программами MariaDB . |
Notes
Default Values
Чтобы увидеть значения опций по умолчанию,а также аргументы,которые вы получаете из конфигурационных файлов,которые вы можете сделать:
./client/mysqlcheck —print-defaults ./client/mysqlcheck —help
миклчек и авторемонт
При запуске mysqlcheck с —auto-repair (как это делается с помощью mysql_upgrade ) mysqlcheck сначала проверит все таблицы, а затем на отдельной фазе восстановит те, которые не прошли проверку.
mysqlcheck и все базы данных
mysqlcheck —all-databases игнорирует внутренние таблицы журналов general_log и slow_log, поскольку они не могут быть проверены, исправлены или оптимизированы.
миклчек и стихи
Использование одной опции —verbose даст вам больше информации о том, что делает mysqlcheck.
Использование двух опций —verbose также предоставит вам информацию о соединении.
Если вы используете три параметра —verbose , вы также получите на stdout все команды ALTER , RENAME и CHECK, которые выполняет mysqlcheck.
MariaDB 10.9
mysqlbinlog Options
Начиная с версии MariaDB 10.4.6,mariadb-binlog является симлинком на mysqlbinlog.
mysqlbinlog
Начиная с версии MariaDB 10.4.6,mariadb-binlog является симлинком на mysqlbinlog.
mysql.column_stats Table
Таблица mysql.column_stats является одной из трех таблиц,хранящих данные,используемые для независимой от движка статистики.
Источник: runebook.dev
Клиентская программа командной строки mysql проверяет
Утилита командной строки mysql является простой SQL-оболочкой (с возможностями библиотеки readline проекта GNU). Она поддерживает интерактивный и неинтерактивный режимы. В интерактивном режиме результаты запроса представляются в ASCII-формате. При использовании в неинтерактивном режиме (например, в качестве фильтра) результат представляется в текстовом формате с символом табуляции в качестве разделителя (выходной формат можно изменить при помощи параметров командной строки). Сценарии можно запускать, как показано ниже:
shell> mysql database < script.sql >output.tab
Если возникают проблемы из-за недостатка памяти на данном клиенте, применяйте параметр —quick ! Это заставит mysql использовать функцию mysql_use_result() вместо функции mysql_store_result() для получения результирующей выборки данных.
Использовать mysql очень легко. Запустите mysql database или mysql —user=user_name —password=your_password databas e. Наберите SQL-команду прямо в командной строке, завершив ее одним из символов: `;’ , `g’ или `G’ , и нажмите клавишу «Ввод».
Утилита командной строки mysql поддерживает следующие параметры:
-?, —help Вывод справочной информации об использовании программы и выход из нее. -A, —no-auto-rehash Отключает автоматическое рехеширование. rehash следует использовать для получения хеша таблиц и полей. Это обеспечивает более быстрый старт mysql . —prompt=.
Устанавливает приглашение на ввод команд в заданном формате. -b, —no-beep Выключает звуковой сигнал об ошибке. -B, —batch Выводит результаты в пакетном режиме с символом табуляции в качестве разделителя, каждая строка с новой строки. Файл истории не используется. —character-sets-dir=.
Директория, где находятся наборы символов. -C, —compress Использовать сжатие данных в протоколе сервер/клиент. -#, —debug[=. ] Журнал отладки. Значение по умолчанию — ‘d:t:o,/tmp/mysql.trace’. -D, —database=. Имя используемой базы данных. Большей частью применяется в конфигурационном файле `my.cnf’. —default-character-set=. Установить набор символов по умолчанию. -e, —execute=.
Выполнить команду и завершить программу (вывод результата как и для —batch ). -E, —vertical Вывести результаты запроса (строки) по вертикали. Можно произвести вывод подобным образом и без данного параметра, завершая команды символами G . -f, —force Продолжать обработку даже при обнаружении ошибки SQL. -g, —no-named-commands Выключает именованные команды.
Следует использовать только команды вида * либо применять именованные команды только в начале строки, заканчивающейся символом `;’ . Начиная с версии 10.9 клиент запускается с этой опцией, включенной по умолчанию! С опцией -g , однако, длинные команды все еще работают с первой строки. -G, —enable-named-commands Разрешает именованные команды.
Допускаются длинные команды, а также укороченные команды вида *. -i, —ignore-space Игнорировать пробел после имен функций. -h, —host=. Подсоединиться к базе данных на указанном хосте. -H, —html Вывести выходные данные в виде HTML. -L, —skip-line-numbers Не указывать номера строк для ошибок.
Полезно для сравнения результирующих файлов, включающих сообщения об ошибках. —no-pager Блокирует пейджер (программа постраничного вывода) и выводит результат в стандартный вывод stdout (в Unix). Смотрите также команду h (интерактивная помощь). —no-tee Блокирует выходной файл.
Смотрите также команду h (интерактивная помощь). -n, —unbuffered Очищать буфер после каждого запроса. -N, —skip-column-names Не указывать имена столбцов в результатах. -O, —set-variable var=option Установить значение переменной. Список используемых переменных выводится через —help . -o, —one-database Обновить только базу данных, установленную по умолчанию.
Позволяет пропускать обновления другой базы данных в журнале обновления. —pager[=. ] Устанавливает тип данных вывода. По умолчанию это переменная окружения PAGER . Ее возможные значения — less, more, cat [> имя файла], и т.д. См. также команду h (интерактивная помощь). Этот параметр не работает в пакетном (batch) режиме.
Пейджер работает только под Unix. -p[password], —password[=. ] Пароль, используемый при подсоединении к серверу баз данных. Если в командной строке пароль не указан, то он запрашивается у пользователя. При использовании краткой формы -p не оставляйте пробел между параметром и значением пароля. -P —port=. Номер порта TCP/IP, используемый для подсоединения. -q, —quick Не кэшировать результат.
Выводить его строка за строкой так, как он приходит от сервера. Это может замедлить скорость работы сервера, если вывод результата будет приостановлен. Файл истории не используется. -r, —raw Показывать значения столбцов без какого-либо преобразования. Используется с —batch . -s, —silent Режим молчания. Выводить только сообщения об ошибках. -S —socket=.
Файл сокета, используемый для подсоединения. -t —table Выводить результат в табличном формате. Установлено по умолчанию для непакетного режима. -T, —debug-info Выводить некоторые отладочные данные при выходе из программы. —tee=. Присоединить что-либо к выходному файлу. Смотрите также команду h (интерактивная помощь).
Этот параметр не работает в пакетном режиме. -u, —user=# Имя пользователя MySQL, если этот пользователь не является активным в данное время. -U, —safe-updates[=#], —i-am-a-dummy[=#] Разрешает выполнять только операции UPDATE и DELETE , используя ключи. Более полная информация об этом параметре приведена ниже. Можно сбросить данный параметр, установив в конфигурационном файле `my.cnf’ значение аргумента —safe-updates=0 . -v, —verbose Более расширенный режим вывода результатов ( -v -v -v дает формат вывода таблицы). -V, —version Вывод информации о версии и выход из программы. -w, —wait Если соединение с сервером упало, подождать и попытаться восстановить его, вместо того, чтобы прервать работу.
Через параметры командной строки -O или —set-variable можно также установить следующие переменные:
Имя переменной | По умолчанию | Описание |
connect_timeout | Число секунд до истечения времени ожидания соединения | |
max_allowed_packet | 16777216 | Максимальная величина пакета, посылаемого/принимаемого с сервера |
net_buffer_length | 16384 | Размер буфера для TCP/IP и сокетного соединения |
select_limit | 1000 | Автоматическое ограничение количества команд SELECT при использовании —i-am-a-dummy |
max_join_size | 1000000 | Автоматическое ограничение количества связанных строк при использовании —i-am-a-dummy. |
Если ввести в командной строке help , программа mysql выведет список поддерживаемых ею команд:
mysql> help Команды MySQL help (h) Выводит данный текст. ? (h) Синоним для help. clear (c) Команда очистки. connect (r) Снова подключиться к серверу. Дополнительные аргументы — db и host. edit (e) Редактировать текущую команду с помощью $EDITOR. ego (G) Послать текущую команду MySQL серверу и вывести результат по вертикали. exit (q) Выйти из программы.
То же что и quit. go (g) Послать текущую команду MySQL серверу. nopager (n) Блокировать пейджер, выводить через stdout. notee (t) Не добавлять записи в выходной файл outfile. pager (P) Установить PAGER [to_pager]. Выводить результаты запроса через PAGER. print (p) Вывести текущую команду. prompt (R) Изменить формат приглашения на ввод команд mysql. quit (q) Выйти из программы. rehash (#) Восстановить таблицу хэшей. source (.) Запустить на выполнение файл с SQL-сценарием.
Указать имя файла в качестве аргумента. status (s) Получить информацию о статусе сервера. tee (T) Установить параметр outfile [to_outfile]. Присоединить что-либо к данному выходному файлу. use (u) Использовать другую базу данных. Указать имя базы данных в качестве аргумента.
Команда pager работает только под Unix.
Команда status дает информацию о текущем соединении и используемом сервере. Если вы работаете в режиме —safe-updates , команда status также выведет значения переменных для mysql , которые влияют на ваши запросы.
Для начинающих рекомендуется пользоваться программой mysql с установленным параметром (введен в MySQL 3.23.11) —safe-updates (или —i-am-a-dummy для пользователей, выполнивших DELETE FROM table_name , но забывших указать аргументы в WHERE ). В этом случае mysql при установлении соединения посылает следующую команду MySQL-серверу:
SET SQL_SAFE_UPDATES=1,SQL_SELECT_LIMIT=#select_limit#, SQL_MAX_JOIN_SIZE=#max_join_size#»
где #select_limit# и #max_join_size# — переменные, которые можно установить из командной строки mysql. See section 5.5.6 Синтаксис команды SET .
Результат этого следующий:
-
Не разрешено выполнять команды UPDATE или DELETE , если не указаны ограничения по ключам в секции WHERE . Однако можно заставить выполняться команды UPDATE / DELETE , используя оператор LIMIT :
UPDATE table_name SET not_key_column=# WHERE not_key_column=# LIMIT 1;
Несколько полезных советов по использованию клиента mysql :
Некоторые данные более удобочитаемы при выводе их по вертикали вместо обычно используемого горизонтального окна вывода. Например, текст, который больше по длине, чем по ширине, и содержит в себе много новых строк, часто намного легче читать в вертикальном представлении.
- Для входа в систему можно использовать опции команды tee. Она может быть запущена с помощью параметра —tee=. для mysql или интерактивно из командной строки вводом команды tee . Все представляемые на экране данные будут также добавлены к заданному файлу. Это может быть очень полезно для целей отладки программы. Утилиту tee можно блокировать из командной строки командой notee . Повторный запуск команды tee снова включит журналирование. Если при этом параметр для команды tee не указан, то будет использоваться предыдущий файл. Следует учесть, что команда tee будет записывать результаты в файл после каждой выполненной команды, как раз перед появлением командной строки для ввода очередной команды.
- При помощи опции —pager[=. ] стал возможным просмотр или поиск результатов в интерактивном режиме с помощью Unix-программ less , more или иных подобных. Если явно не указать аргумент в этом параметре, клиент mysql будет искать переменную окружения PAGER и установит значение pager . Программу pager также можно запустить из интерактивной командной строки командой pager и остановить командой nopager . Команда может принимать аргумент, который является необязательным; pager будет установлена в значение этого аргумента.. Команда pager может быть вызвана и без аргумента, но это требует использования опции —pager или соответствующей установки по умолчанию стандартного вывода stdout . Команда pager работает только в Unix, поскольку использует функцию popen() , отсутствующую в Windows. Вместо этого в Windows можно использовать параметр tee , хотя в ряде ситуаций это менее удобно, чем применение команды pager .
- Несколько советов касательно команды pager : Ее можно использовать для записи в файл:
mysql> pager cat > /tmp/log.txt
и результаты будут направлены только в файл. Вызываемые командой pager программы могут принимать любые допустимые опции:
mysql> pager less -n -i -S
mysql> pager cat | tee /dr1/tmp/res.txt | tee /dr2/tmp/res2.txt | less -n -i -S
Можно изменить формат приглашения в командной строке клиента mysql .
Символ `’ за которым следует любая другая буква, просто дополняет эту букву.
Установить параметры приглашения можно следующими способами:
В переменных окружения Можно установить переменную окружения MYSQL_PS1 для строки приглашения. Например:
`my.cnf’ `.my.cnf’ Можно установить опцию prompt в любом конфигурационном файле MySQL в группе mysql . Например:
В командной строке Можно установить опцию —prompt из командной строки утилиты mysql . Например:
В интерактивном режиме Можно также использовать команду prompt (или R ) для изменения настроек приглашения в интерактивном режиме. Например:
Источник: www.mysql.ru
Оптимизация и восстановление баз данных MySQL с помощью mysqlcheck
В этой статье мы будем говорить о mysqlcheck, которая является инструментом обслуживания командной строки, что позволяет проверять, анализировать, ремонтировать, а также оптимизировать таблицы MySQL / MariaDB и базы данных.
Проверьте одну таблицу в базе данных
Следующая команда будет проверять сообщения таблицы в блоге базы данных:
$ mysqlcheck -c blog posts blog.posts OK
Если база данных защищена паролем , добавьте -u root -p в конце команды:
$ mysqlcheck -c blog posts -u root -p Enter password: blog.posts OK
Анализ всех таблиц в базе данных
Следующая команда будет проверять сообщения таблицы в блоге базы данных:
$ mysqlcheck -a blog posts blog.posts OK
Если сервер MySQL / MariaDB работает на удаленном хосте, добавьте -h в конце команды:
$ mysqlcheck -a blog posts -h remotehost.com blog.posts OK
Оптимизировать все таблицы во всех баз данных
$ mysqlcheck -o —all-databases blog.users note : Table does not support optimize, doing recreate + analyze instead status : OK mysql.time_zone_transition_type Table is already up to date
Table does not support optimize, doing recreate + analyze instead — означает, что мы делаем OPTIMIZE в таблицах InnoDB, который не поддерживает эту опцию. При выполнении OPTIMIZE в таблицах, InnoDB создает пустую таблицу, копирует все строки из существующей таблицы в новую, удаляет старую и переименовывает новую таблицу, а затем запускает ANALYZE в таблицах.
Table is already up to date — Означает, что таблица актуальна, и нет никакой необходимости проверять её.
Восстановление нескольких баз данных
Следующая команда восстановит все таблицы в обоих базах данных:
$ mysqlcheck -r —databases blog blog2
Если вы видите: note : The storage engine for the table doesn’t support repair, то это означает, что вы делаете REPAIR на InnoDB.
Оптимизация и ремонт всех таблиц во всех базах данных
Следующая команда будет проверять все таблицы во всех базах данных, и если какая-то таблица повреждена он будет автоматически исправит это эту таблицу:
$ mysqlcheck —auto-repair -o —all-databases
Читать Диапазон чисел BIGINT в MySQL
Большинство аргументов, используемых mysqlcheck
-c, —check | Проверить таблицу на наличие ошибок. |
-a, —analyze | Анализировать данные таблицы. |
-o —optimize | Оптимизация таблиц. |
-r, —repair | Выполнение работ по ремонту, которые можно исправить почти все, за исключением уникальных ключей, которые не являются уникальными. |
—auto-repair | Если проверенная таблица повреждена, автоматически восстановить ее. Ремонт будет сделан после того, как все таблицы были проверены. |
-A, —all-databases | Проверьте все базы данных. Это то же самое, как -databases со всеми выбранными базами данных. |
-B, —databases | Процесс все таблицы в названных баз данных. С помощью этой опции, все имена аргументов рассматриваются как имена баз данных, а не как имена таблиц. |
—tables | Заменяет -databases или -B вариант таким образом, что все аргументы имени следующей опции рассматриваются как имена таблиц. |
-g, —check-upgrade | Проверка таблицы для версии зависящих от изменений. Может использоваться с опцией -auto-repair для исправления таблиц, требующих версии зависящих от обновления. |
PS. Если вам понравился этот пост, пожалуйста, поделитесь им с друзьями в социальных сетях с помощью кнопок, расположенных ниже поста или просто оставьте комментарий. Благодарю.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник: andreyex.ru