Как проверить базу данных mysql на ошибки консоль

Обновлено: 03.07.2024

Небольшая памятка по работе с сервером MySQL из командной строки.

Подключение к MySQL через консоль

Получить информацию об установленной версии MySQL

Для подключения к mysql в консоли наберите команду

Приглашение командной строки изменится, это значит, сервер MySQL ждёт от вас команд.

Запросы должны оканчиваться точкой с запятой. Длинные запросы удобно разбивать enter-ом для перехода на новую строку, а после полного написания запроса поставить точку с запятой и выполнить его.

Для отключения от MySQL нужно написать exit или (в unix-системах) нажать комбинацию клавиш ctrl+с.

Для вывода всех баз данных на сервере используйте команду show databases.

Выберите нужную базу данных командой use.

Теперь можно вводить запросы.

Чтобы подключиться к MySQL и сразу выбрать нужную базу

Полезные команды MySQL

Показать все таблицы выбранной базы данных в текущей БД.

Показать все таблицы базы данных db_name.

Показать список столбцов в таблице table_name в текущей БД

Показать список столбцов в таблице table_name из БД db_name

Вывести структуру нужной таблицы

Вывести значения системных переменных.

Показать список выполняющихся в настоящий момент запросов.

Общая статистика MySQL.

Статистика по всем таблицам в базе db_name.

Что бы выполнять запросы к MySQL из консоли, не всегда требуется предварительно подключаться к mysql. Параметр -e позволяет исполнить команду, вывести результат на экран, после чего отключиться от сервера MySQL. Например, можно вывести список таблиц базы данных.

Управление базами данных

Создание базы данных из консоли сервера

Удаление базы данных из консоли сервера

Создание базы данных db_name из консоли MySQL

Удаление базы данных db_name из консоли MySQL

Замена в поле одной подстроки на другую

Работа с пользователями

Вывести список пользователей

Показать список прав пользователя user

Создать нового пользователя

Чтобы создаваемый пользователь смог подключаться к серверу MySQL с любого IP адреса или хоста (за исключением localhost), можно использовать символ процента, вот так

Чтобы разрешрешить пользователю подключаться вообще со всех хостов, придётся создать для него две учётные записи.

Добавить указанные привилегии для таблиц БД db_name пользователю user@localhost

Чтобы изменить права пользователю, иногда удобно сначала сбросить все права

А затем установить нужные с помощью GRANT, как было показано выше.

Добавить все привилегии для таблиц БД db_name пользователю user@localhost

Удаление привилегий пользователя user@localhost для БД db_name:

Сделать из пользователя суперпользователя и дать полный доступ ко всем БД на сервере

Удалить пользователя user@localhost

Изменить пароль пользователя в консоли MySQL

Установить пароль для пользователя user в консоли сервера.

Исправление и оптимизация баз данных в MySQL

Если же в БД много поврежденных таблиц можно воспользоваться командой mysqlcheck.

Проверить db_name на ошибки.

Восстановление и оптимизация всех БД

Бэкап MySQL из командной строки

Экспорт базы MySQL

Дамп нескольких баз

Дамп всех баз на сервере

Дамп только структуры базы, без данных

Дамп структуры одной таблицы mysql, без данных:

Развернуть базу данных MySQL из дампа

Клонирование таблиц

Скопировать структуру и ключи таблицы, без копирования данных.

Клонировать таблицы базы данных со всеми данными.

На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.

Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.

Собрал список, который занимал у меня штук 30 открытых вкладок. Когда я понял, что сил по ним бегать нет, то решил собрать такой материал, в котором будут все необходимые команды для проверки работы базы данных Mysql и тестирования различных параметров. Теперь постараюсь всё это собрать воедино и сохранить. Кто читал предыдущую мою статью про настройки my.cnf тот уже видел, что я активно занимаюсь оптимизацией базы данных.

Mysqltuner команды проверки и реагирования

Название конечно звучит странно, но в этой части статьи именно все команды для проверки работы Mysql с помощью mysqltuner и соответственно необходимые команды для того, чтобы устранить некоторые проблемы.

Что такое mysqltuner думаю обьяснять не надо, как и его задачу – проверку Mysql параметров. Зачастую кстати он выдаёт одинаковые рекомендации, но чтобы запустить его надо просто в командной строке набрать

Оптимизация всех баз данных

После этого начнется проверка параметров Mysql и появится вывод информации. Как правило в самом начале выходят данные о фрагментации баз данных, их необходимо оптимизировать. Для этого вводим в командную строку следующую команду:

Восстановление & Оптимизация
mysqlcheck -Aor -p
Только воcстановление
mysqlcheck -Ar -p
Только оптимизация
mysqlcheck -Ao -p

Описание аргументов:
-A – Проверить на ошибки все Mysql базы данных
-r – Отремонтировать все Mysql базы данных
-o – Оптимизировать все Mysql базы данных
-p – Для доступа к базе используется пароль

После этого начинается оптимизация баз данных, которые имеют не оптимизированные таблицы.

Вывод данных состояния MYSQL

Теперь следующий блок запросов, которые вводятся в Mysql для вывода данных о состоянии переменных

show status LIKE "Key%"; – выводит данные о состояние буфера ключей

show status LIKE "Opened_tables%"; – выводит данные об открытых таблицах

show status LIKE "Threads_running%" – вывод данных исходя из параметров умножения количества threads на параметры sort_buffer

show status LIKE "Max_used_connections%"; – данные о максимальном количестве одновременных подключений к базе. Помогает настроить максимальное количество подключений.

SHOW STATUS LIKE 'Qcache%'; – выводит данные о работе кеша определенного query_cache_limit и query_cache_size.

show processlist; – данные о процессах Mysql

FLUSH QUERY CACHE – дефрагментировать кэш Mysql

Оптимизация медленных запросов Mysql

Следующая часть посвящена тому, как определить медленные запросы к Mysql и анализировать их.

Для начала снова обратимся к файлу конфигурации MySQl – my.cnf. Здесь необходимо обратить внимание на такой пункт настроек, как лог медленных запросов. Выглядит он так:

Здесь вы видите 3 пункта. Определение где будет храниться лог запросов, определение количества секунд выполнения запроса, которые должны заноситься в лог и указание записывать отсутствие индексов у баз данных. Включаем все три и через некоторое время проводим анализ с помощью команды:

mysqldumpslow -s c -t 10

Эта команда выведет 10 самых медленных запросов. Если изменить цифру соответственно выведется нужное количество запросов сортировкой по самому долгому выполнению. После этого вы уже сможете анализировать их и оптимизировать скрипты.

mysqladmin – это утилита командной строки, которая поставляется с MySQL сервером и используется администраторами баз данных для выполнения некоторых простых MySQL задач, таких как установка пароля root или другого пользователя, изменение пароля root или другого пользователя, мониторинг процессов mysql, перезагрузка привилегий, проверка статуса сервера и т.д.

В этой статье собраны некоторые очень полезные команды mysqladmin, которые используется системными администраторами и администраторами баз данных в их повседневной работе. У вас уже должен быть установлен MySQL сервер, чтобы вы могли повторить эти примеры.

1. Как установить пароль MySQL Root?

Если у вас свежая установка MySQL сервера, то она не требует какого-либо пароля для подключения в качестве пользователя root. Для установки в MySQL пароля root пользователя используйте следующую команду:

2. Как изменить пароль MySQL Root?

Если вы хотите изменить или обновить пароль от root в MySQL, то вам нужно напечатать следующую команду. Допустим, ваш старый пароль это 123456, и вы хотите изменить его на новый пароль xyz123:

Аналогично операция выполняется для других пользователей, вместо root вставьте имя пользователя, для которого вы хотите изменить пароль

3. Как проверить, запущен ли MySQL сервер?

Чтобы узнать, работает ли MySQL сервер, используйте следующую команду:


4. Как проверить, какую версию MySQL я использую?

Следующая команда покажет версию MySQL, а также текущий статус работы:


5. Как узнать текущий статус MySQL сервера?

Для определения статуса MySQL сервера используйте следующую команду. Mysqladmin покажет время работы с запущенными патоками и очередями.


6. Как проверить статус всех переменных и значений MySQL сервера?

Для проверки всех переменных и значений работающего MySQL сервера напечатайте следующую команду. Вывод должен быть примерно таким:


7. Как посмотреть все переменные и значения MySQL статуса?

Для просмотра всех переменных и значений запущенного MySQL сервера, используйте команду, как показано ниже:

8. Как проверить все процессы рабочего MySQL сервера?

Следующая команда отобразить все запущенные процессы запросов к базе данных MySQL:

9. Как создать базу данных на MySQL сервере?

Для создания новой команды на MySQL сервере используйте команду, которая показана ниже:

10. Как удалить базу данных на MySQL сервере?

Для удаления базы данных с MySQL сервера используйте следующую команду. Для подтверждения нажмите ‘y‘.

11. Как перезагрузить/сбросить привилегии MySQL?

Команда reload говорит серверу повторно загрузить таблицы grant. Команда refresh сбрасывает все таблицы и повторно открывает файлы журналов.

12. Как безопасно выключить MySQL сервер?

Для безопасного выключения MySQL сервера используйте следующую команду:

Вы также можете использовать следующие команды для запуска, остановки MySQL сервера:

13. Некоторые полезные команды MySQL Flush

Ниже несколько полезных flush команд с описанием.

  • flush-hosts: Очистить всю информацию из кэша хоста.
  • flush-tables: Сброс всех таблиц.
  • flush-threads: Очистить кэш всех потоков.
  • flush-logs: Очистить все информационные логи.
  • flush-privileges: Перезагрузить таблицы grant (то же как и reload).
  • flush-status: Очистить переменные статуса.

14. Как завершить спящий клиентский процесс MySQL?

Используйте следующую команду для выявления спящего клиентского процесса MySQL:

Теперь запустите команду с kill и ID процесска, как показано ниже:

Если вам нужно завершить несколько процессов, тогда передайте ID процессов в виде списка, разделённого запятыми:

15. Как вместе запустить несколько команд mysqladmin?

Если вы хотите выполнить одновременно несколько mysqladmin команд, то команда должна выглядеть примерно так:

16. Как подключиться к удалённому mysql серверу?

Для подключения к удалённому MySQL серверу исопльзуйте -h (хост) с IP адресом удалённой машины:

17. Как выполнить команды на удалённом MySQL сервере?

Допустим, вы хотите увидеть статус удалённого MySQL сервера, тогда команда будет:

18. Как запустить/остановить копирование на удалённом второстепенном MySQL сервере?

Для запуска/остановки MySQL репликации на второстепенном (salve) сервере, используйте следующие команды:

19. Как сохранить отладочную информацию MySQL в файлы журналов?

Команда говорит серверу записывать отладочную информацию об используемых блокировках, используемой памяти и использовании запросов в файл журнала MySQL, также включает информация о событиях планировщика.

20. Опции и использование mysqladmin

Все опции и доступные команды mysqladmin вы сможете узнать набрав:

Мы попытались включить в статью почти все команды mysqladmin с примерами. Если мы пропустили что-то, напишите в комментариях.

Favorite

Добавить в избранное

Главное меню » Блог-платформа wordpress » Лучшие учебники по WordPress » Оптимизация и восстановление баз данных MySQL с помощью mysqlcheck

Оптимизация и восстановление баз данных MySQL с помощью mysqlcheck

В этой статье мы будем говорить о mysqlcheck, которая является инструментом обслуживания командной строки, что позволяет проверять, анализировать, ремонтировать, а также оптимизировать таблицы MySQL / MariaDB и базы данных.

Проверьте одну таблицу в базе данных

Если база данных защищена паролем , добавьте -u root -p в конце команды:

Анализ всех таблиц в базе данных

Если сервер MySQL / MariaDB работает на удаленном хосте, добавьте -h в конце команды:

Оптимизировать все таблицы во всех баз данных

Table does not support optimize, doing recreate + analyze instead - означает, что мы делаем OPTIMIZE в таблицах InnoDB, который не поддерживает эту опцию. При выполнении OPTIMIZE в таблицах, InnoDB создает пустую таблицу, копирует все строки из существующей таблицы в новую, удаляет старую и переименовывает новую таблицу, а затем запускает ANALYZE в таблицах.
Table is already up to date - Означает, что таблица актуальна, и нет никакой необходимости проверять её.

Восстановление нескольких баз данных

Следующая команда восстановит все таблицы в обоих базах данных:

Если вы видите: note : The storage engine for the table doesn't support repair, то это означает, что вы делаете REPAIR на InnoDB.

Оптимизация и ремонт всех таблиц во всех базах данных

Следующая команда будет проверять все таблицы во всех базах данных, и если какая-то таблица повреждена он будет автоматически исправит это эту таблицу:

Читать Как добавить WordPress виджеты в режиме специальных возможностей

Большинство аргументов, используемых mysqlcheck

Оптимизация и восстановление баз данных MySQL с помощью mysqlcheck

PS. Если вам понравился этот пост, пожалуйста, поделитесь им с друзьями в социальных сетях с помощью кнопок, расположенных ниже поста или просто оставьте комментарий. Благодарю.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: