Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.



15 практических примеров использования команд Mysqladmin для администрирования MySQL сервера

Метки: |
Понедельник, 19 января 2009 г.
Просмотров: 26044
Подписаться на комментарии по RSS


В 15 примерах использования команд mysqladmin ниже, используется пароль root Mysql tmppassword. Поменяйте его на ваш пароль

1. Как изменить пароль root на Mysql?

# mysqladmin -u root -ptmppassword password 'newpassword'
# mysql -u root -pnewpassword
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.1.25-rc-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>

2. Как проверить работает ли MySQL сервер?

# mysqladmin -u root -p ping
Enter password:
mysqld is alive

3. Как посмотреть какая версия MySQL используетсяI am running?

[cut]Эта команда так же отображает текущий статус сервера.

# mysqladmin -u root -ptmppassword version
mysqladmin  Ver 8.42 Distrib 5.1.25-rc, for redhat-linux-gnu on i686
Copyright (C) 2000-2006 MySQL AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license
Server version          5.1.25-rc-community
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 107 days 6 hours 11 min 44 sec
Threads: 1  Questions: 231976  Slow queries: 0  Opens: 17067
Flush tables: 1  Open tables: 64  Queries per second avg: 0.25

4. Как посмотреть статус MySQL сервера?

# mysqladmin -u root -ptmppassword status
Uptime: 9267148
Threads: 1  Questions: 231977  Slow queries: 0  Opens: 17067
Flush tables: 1  Open tables: 64  Queries per second avg: 0.25

Команда status отображает следующую информациюcommand displays the following information:

  • Uptime: Время безотказной работы в секундах
  • Threads: Общее количество клиентов, подключенных к серверу.
  • Questions: Общее количество запросов к серверу с момента запуска.
  • Slow queries: Общее количество запросов, чьё время выполнения было больше чем значение переменной long_query_time.
  • Opens: Total number of tables opened by the server.
  • Flush tables: How many times the tables were flushed.
  • Open tables: Total number of open tables in the database.

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

# mysqladmin -u root -ptmppassword extended-status
+-----------------------------------+-----------+
| Variable_name                       | Value     |
+-----------------------------------+-----------+
| Aborted_clients                       | 579       |
| Aborted_connects                    | 8         |
| Binlog_cache_disk_use             | 0         |
| Binlog_cache_use                    | 0         |
| Bytes_received                       | 41387238  |
| Bytes_sent                            | 308401407 |
| Com_admin_commands          | 3524      |
| Com_assign_to_keycache        | 0         |
| Com_alter_db                        | 0         |
| Com_alter_db_upgrade           | 0         |

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

# mysqladmin  -u root -ptmppassword variables
+---------------------------------+---------------------------------+
| Variable_name                   | Value                           |
+---------------------------------+---------------------------------+
| auto_increment_increment        | 1                               |
| basedir                         | /                               |
| big_tables                      | OFF                             |
| binlog_format                   | MIXED                           |
| bulk_insert_buffer_size         | 8388608                         |
| character_set_client            | latin1                          |
| character_set_database          | latin1                          |
| character_set_filesystem        | binary                          |
skip.....
| time_format                     | %H:%i:%s                        |
| time_zone                       | SYSTEM                          |
| timed_mutexes                   | OFF                             |
| tmpdir                          | /tmp                            |
| tx_isolation                    | REPEATABLE-READ                 |
| unique_checks                   | ON                              |
| updatable_views_with_limit      | YES                             |
| version                         | 5.1.25-rc-community             |
| version_comment                 | MySQL Community Server (GPL)    |
| version_compile_machine         | i686                            |
| version_compile_os              | redhat-linux-gnu                |
| wait_timeout                    | 28800                           |
+---------------------------------+---------------------------------+

 

7. Как отобразить все запущенные процессы/запросы в базе mysql?

# mysqladmin -u root -ptmppassword processlist
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 20 | root | localhost |    | Sleep   | 36   |       |                  |
| 23 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

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

# mysqladmin -u root -ptmppassword -i 1 processlist
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 20 | root | localhost |    | Sleep   | 36   |       |                  |
| 23 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 24 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

8. Как создать базу  MySQL?

# mysqladmin -u root -ptmppassword create testdb
# mysql -u root -ptmppassword
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 705
Server version: 5.1.25-rc-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| sugarcrm           |
| testdb             |
+--------------------+
4 rows in set (0.00 sec)

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

9. Как удалить существующую базу MySQL?

# mysqladmin -u root -ptmppassword drop testdb
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the 'testdb' database [y/N] y
Database “testdb” dropped
# mysql -u root -ptmppassword
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 707
Server version: 5.1.25-rc-community MySQL Community Server (GPL)
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> show databases;
+——————–+
| Database           |
+——————–+
| information_schema |
| mysql              |
| sugarcrm           |
+——————–+
3 rows in set (0.00 sec)

10. Как перегрузить все привилегии и права на таблицы?

# mysqladmin -u root -ptmppassword reload;

Команда Refresh сбросит все таблица и закроет/откроет лог-файлы.

# mysqladmin -u root -ptmppassword refresh

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

# mysqladmin -u root -ptmppassword shutdown
# mysql -u root -ptmppassword
ERROR 2002 (HY000): Can't connect to local MySQL server
through socket '/var/lib/mysql/mysql.sock'

Вы можете использовать команду “/etc/rc.d/init.d/mysqld stop” для остановки сервера. Для запуска выполните “/etc/rc.d/init.d/mysql start”

12. Список всех mysqladmin flush комманд.

# mysqladmin -u root -ptmppassword flush-hosts
# mysqladmin -u root -ptmppassword flush-logs
# mysqladmin -u root -ptmppassword flush-privileges
# mysqladmin -u root -ptmppassword flush-status
# mysqladmin -u root -ptmppassword flush-tables
# mysqladmin -u root -ptmppassword flush-threads
  • flush-hosts: Сбросить всю информацию в кэше хостов.
  • flush-privileges: Перезагрузить права.
  • flush-status: Очистить статус переменных.
  • flush-threads: Flush the thread cache.

13. Как убить подвешенный клиентский процесс в MySQL ?

Сперва определите подвешенный процесс используя команду processlist.

# mysqladmin -u root -ptmppassword processlist
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 20 | root | localhost |    | Sleep   | 64   |       |                  |
| 24 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

Затем используйте команду kill и нужный process_id. Для завершения нескольких процессов разделите process id запятыми.

# mysqladmin -u root -ptmppassword kill 20
# mysqladmin -u root -ptmppassword processlist
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 26 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

14. Как запустить или остановить репликацию MySQL на slave-сервер?

# mysqladmin  -u root -ptmppassword stop-slave
Slave stopped
# mysqladmin  -u root -ptmppassword start-slave
mysqladmin: Error starting slave: The server is not configured as slave;
fix in config file or with CHANGE MASTER TO

15. Как скомбинировать несколько команд mysqladmin вместе?

В примере ниже скомбинированы команды process-list, status и version для полного вывода статуса сервера.

# mysqladmin  -u root -ptmppassword process status version
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 43 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
Uptime: 3135
Threads: 1  Questions: 80  Slow queries: 0  Opens: 15  Flush tables: 3
Open tables: 0  Queries per second avg: 0.25
mysqladmin  Ver 8.42 Distrib 5.1.25-rc, for redhat-linux-gnu on i686
Copyright (C) 2000-2006 MySQL AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license
Server version          5.1.25-rc-community
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 52 min 15 sec

Вы можете также использовать краткую форму записи:

# mysqladmin  -u root -ptmppassword pro stat ver

Используйте опцию -h для подключения к удаленному MySQL серверу и выполнения команды.

# mysqladmin  -h 192.168.1.112 -u root -ptmppassword pro stat ver

Постовой

Покупайте ламинат только в интернет-магазине «Паркет-Всем». Самые выгодные ценовые предложения, огромный ассортимент и удобная доставка.

Купить оригинальные японские запчасти в интернет магазине «Tan Sin» это самое лучшее, что вы можете сделать для своего автомобиля.

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Комментариев: 2

  1. Спасибо, очень полезная информация

  2. Евгений | 2011-11-30 в 18:22:24

    Access denied for user 'wmlabour'@'localhost' (using password: NO)

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

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

(обязательно)