20 команди mysqladmin за администриране на база данни на MYSQL/MariaDB

Сподели

mysqladmin е помощна програма за администриране на база данни от команден ред, която идва с MySQL/MariaDB сървър, който се използва от Администратори на бази данни за извършване на някои основни MySQL задачи като задаване на root парола, промяна на root парола, наблюдение на mysql процеси, презареждане на привилегии, създаване/изтриване на бази данни, проверка на състоянието на сървъра, показване на статистика за използване, унищожаване на изпълнявани заявки и др.

Командата за използване mysqladmin и общият синтаксис е:

# mysqladmin [options] command [command-arg] [command [command-arg]] ...

Ако нямате MySQL/MariaDB инсталиран сървър или използвате по-стара версия на MySQL сървър, тогава ви препоръчваме да инсталирате или актуализирате версията на MySQL, като използвате следните статии:

  • Как да инсталирате MySQL на базирани на RHEL дистрибуции
  • Как да инсталирате MariaDB в RHEL и Debian системи

В тази статия сме събрали някои много полезни „mysqladmin‘ команди, които се използват от администраторите на системи/бази данни в ежедневната им работа. Трябва да имаш MySQL/MariaDB сървър, инсталиран на вашата система за изпълнение на тези задачи.

1. Как да зададете MySQL root парола

Ако имате нова инсталация на MySQL/MariaDB сървър, тогава не изисква никаква парола, за да го свържете като root потребител. За да настроите MySQL парола за root потребител, използвайте следната команда.

# mysqladmin -u root password YOURNEWPASSWORD
Задайте нова парола за MySQL
Задайте нова парола за MySQL

Внимание: Задаване на нова MYSQL парола с помощта на mysqladmin трябва да се считат за уязвими. В някои системи вашата парола става видима за програми за състояние на системата, като например командата ps, която може да бъде изпълнена от други потребители, за да знаят състоянието на активните процеси в системата.

2. Как да промените основната парола на MySQL

Ако искате да промените или актуализирате MySQL root парола, тогава трябва да въведете следната команда. Например, кажете, че старата ви парола е 123456 и искате да го промените с нова парола, кажете xyz123.

# mysqladmin -u root -p123456 password 'xyz123'
Променете MySQL паролата
Променете MySQL паролата

3. Как да проверите състоянието на MySQL Server

За да разберете дали MySQL сървърът работи и работи, използвайте следната команда.

# mysqladmin -u root -p ping

Enter password:
mysqld is alive
Проверете MySQL Running Status
Проверете MySQL Running Status

4. Как да проверя коя версия на MySQL използвам

Следващата команда показва MySQL версия заедно с текущия статус на работа.

# mysqladmin -u root -p version

Enter password: 
mysqladmin  Ver 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.

Server version		10.3.32-MariaDB
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/lib/mysql/mysql.sock
Uptime:			18 min 6 sec

Threads: 6  Questions: 20  Slow queries: 0  Opens: 18  Flush tables: 1  
Open tables: 11  Queries per second avg: 0.018

5. Как да разберете текущото състояние на MySQL Server

За да разберете текущото състояние на MySQL сървър, използвайте следната команда. The mysqladmin командата показва състоянието на ъптайм с бягане нишки и заявки.

# mysqladmin -u root -p status

Enter password: 
Uptime: 1185  Threads: 6  Questions: 21  Slow queries: 0  Opens: 18  Flush tables: 1
Open tables: 11  Queries per second avg: 0.017

6. Как да проверите променливите за състояние на MySQL и техните стойности

За да проверите цялото текущо състояние на MySQL сървърни променливи и стойности, въведете следната команда. Резултатът ще бъде подобен на този по-долу.

# mysqladmin -u root -p extended-status

Enter password: 
+--------------------------------------------------------------+
| Variable_name                          | Value               |
+--------------------------------------------------------------+
| Aborted_clients                        | 0                   |
| Aborted_connects                       | 2                   |
| Access_denied_errors                   | 2                   |
| Acl_column_grants                      | 0                   |
| Acl_database_grants                    | 0                   |
| Acl_function_grants                    | 0                   |
| Acl_procedure_grants                   | 0                   |
| Acl_package_spec_grants                | 0                   |
| Acl_package_body_grants                | 0                   |
| Acl_proxy_users                        | 2                   |
| Acl_role_grants                        | 0                   |
| Acl_roles                              | 0                   |
| Acl_table_grants                       | 0                   |
| Acl_users                              | 4                   |
| Aria_pagecache_blocks_not_flushed      | 0                   |
| Aria_pagecache_blocks_unused           | 15706               |
| Aria_pagecache_blocks_used             | 0                   |
| Aria_pagecache_read_requests           | 0                   |
| Aria_pagecache_reads                   | 0                   |
| Aria_pagecache_write_requests          | 0                   |

...

7. Как да видите всички променливи и стойности на MySQL сървъра?

За да видите всички работещи променливи и стойности на MySQL сървър, използвайте командата, както следва.

# mysqladmin  -u root -p variables

Enter password:
+--------------------------------------------+-----------------------------+
| Variable_name                              | Value                       |
+--------------------------------------------+-----------------------------+
| auto_increment_increment                   | 1                           |
| auto_increment_offset                      | 1                           |
| autocommit                                 | ON                          |
| automatic_sp_privileges                    | ON                          |
| back_log                                   | 50                          |
| basedir                                    | /usr                        |
| big_tables                                 | OFF                         |
| binlog_cache_size                          | 32768                       |
| binlog_direct_non_transactional_updates    | OFF                         |
| binlog_format                              | STATEMENT                   |
| binlog_stmt_cache_size                     | 32768                       |
| bulk_insert_buffer_size                    | 8388608                     |
| character_set_client                       | latin1                      |
| character_set_connection                   | latin1                      |
| character_set_database                     | latin1                      |
| character_set_filesystem                   | binary                      |
| character_set_results                      | latin1                      |
| character_set_server                       | latin1                      |
| character_set_system                       | utf8                        |
| character_sets_dir                         | /usr/share/mysql/charsets/  |
| collation_connection                       | latin1_swedish_ci           |
+---------------------------------------------------+----------------------+
...

8. Как да проверите активните нишки на MySQL Server

Следната команда ще покаже всички работещи процеси на MySQL заявки към база данни.

# mysqladmin -u root -p processlist

Enter password: 
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| Id | User        | Host      | db | Command | Time | State                    | Info             | Progress |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| 2  | system user |           |    | Daemon  |      | InnoDB purge coordinator |                  | 0.000    |
| 1  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 4  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 3  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 5  | system user |           |    | Daemon  |      | InnoDB shutdown handler  |                  | 0.000    |
| 20 | root        | localhost |    | Query   | 0    | Init                     | show processlist | 0.000    |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+

9. Как да създадете база данни в MySQL Server

За да създадете нова база данни в MySQL сървър, използвайте командата, показана по-долу.

# mysqladmin -u root -p create tecmint
Enter password: 

# mysql -u root -p

Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 22
Server version: 10.3.32-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| tecmint |
+--------------------+
4 rows in set (0.001 sec)

10. Как да изтриете база данни в MySQL Server

За да пуснете база данни в MySQL сървър, използвайте следната команда. Ще бъдете помолени да потвърдите, натиснете ‘г‘.

# mysqladmin -u root -p drop tecmint

Enter password: 
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 'tecmint' database [y/N] y
Database "tecmint" dropped

11. Как да презаредите/опресните привилегиите на MySQL?

The презаредете команда казва на сървъра да презареди таблиците за предоставяне и опресняване командата изтрива всички таблици и отваря отново регистрационните файлове.

# mysqladmin -u root -p reload
# mysqladmin -u root -p refresh

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

За да изключите MySQL сървър безопасно, въведете следната команда.

mysqladmin -u root -p shutdown

Enter password:

Можете също да използвате следните команди, за да стартирате/спирате MySQL сървъра.

# systemctl stop mysqld
# systemctl start mysqld
Or
# systemctl stop mariadb
# systemctl start mariadb

13. Някои полезни MySQL Flush команди

Следват някои полезни команди за промиване с тяхното описание.

  • флъш-хостове: Изчистване на цялата информация за хоста от кеша на хоста.
  • флъш-маси: Изчистете всички маси.
  • флъш-нишки: Изчистете кеша на всички нишки.
  • флъш-дневници: Изчистете всички регистрационни файлове с информация.
  • флъш-привилегии: Презаредете таблиците за предоставяне (същото като презареждане).
  • състояние на промиване: Изчистване на променливите за състояние.

Нека да проверим тези команди.

# mysqladmin -u root -p flush-hosts
# mysqladmin -u root -p flush-tables
# mysqladmin -u root -p flush-threads
# mysqladmin -u root -p flush-logs
# mysqladmin -u root -p flush-privileges
# mysqladmin -u root -p flush-status

14. Как да убия Sleeping MySQL Client Process?

Използвайте следната команда, за да идентифицирате спящия MySQL клиентски процес.

# mysqladmin -u root -p processlist

Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 5  | root | localhost |    | Sleep   | 14   |       |			 |
| 8  | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

Сега изпълнете следната команда с убивам и ID на процеса както е показано по-долу.

# mysqladmin -u root -p kill 5

Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 12 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

Ако ви харесва убивам множество процеси, след което преминете идентификатори на процеси със запетаи, разделени, както е показано по-долу.

# mysqladmin -u root -p kill 5,10

15. Как да изпълнявате няколко команди на mysqladmin заедно

Ако искате да изпълните няколко „mysqladmin‘ команди заедно, тогава командата ще бъде така.

# mysqladmin  -u root -p processlist status version

Enter password: 
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| Id | User        | Host      | db | Command | Time | State                    | Info             | Progress |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
| 1  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 2  | system user |           |    | Daemon  |      | InnoDB purge coordinator |                  | 0.000    |
| 4  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 3  | system user |           |    | Daemon  |      | InnoDB purge worker      |                  | 0.000    |
| 5  | system user |           |    | Daemon  |      | InnoDB shutdown handler  |                  | 0.000    |
| 9  | root        | localhost |    | Query   | 0    | Init                     | show processlist | 0.000    |
+----+-------------+-----------+----+---------+------+--------------------------+------------------+----------+
Uptime: 173  Threads: 6  Questions: 4  Slow queries: 0  Opens: 18  Flush tables: 1  Open tables: 11  Queries per second avg: 0.023
mysqladmin  Ver 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab, and others.

Server version		10.3.32-MariaDB
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/lib/mysql/mysql.sock
Uptime:			2 min 53 sec

Threads: 6  Questions: 4  Slow queries: 0  Opens: 18  Flush tables: 1  Open tables: 11  Queries per second avg: 0.023

16. Как да свържете отдалечен Mysql сървър

За свързване с дистанц MySQL сървър, използвайте (домакин) с IP адрес на отдалечената машина.

# mysqladmin -h 172.16.25.126 -u root -p

17. Как да изпълним команда на отдалечен MySQL сървър

Да приемем, че искате да видите състояние на дистанционното MySQL сървър, тогава командата ще бъде.

# mysqladmin -h 172.16.25.126 -u root -p status

18. Как да стартирате/спирате MySQL репликация на подчинен сървър

За да стартирате/спирате репликацията на MySQL на подчинения сървър, използвайте следните команди.

# mysqladmin  -u root -p start-slave
# mysqladmin  -u root -p stop-slave

19. Как да съхранявате информация за отстраняване на грешки на MySQL Server в регистрационни файлове

Той казва на сървъра да напише информация за отстраняване на грешки относно използваните ключалки, използваната памет и използването на заявки в MySQL лог файл, включително информация за планировчика на събития.

# mysqladmin  -u root -p debug

Enter password:

20. Как да видите опциите и използването на mysqladmin

За да разберете повече опции и използване на мислех използвайте командата help, както е показано по-долу. Той ще покаже списък с налични опции.

# mysqladmin --help
Помощ за команда mysqladmin
Помощ за команда mysqladmin

Постарахме се да включим почти всички „mysqladmin‘ команди с техните примери в тази статия. Ако все пак сме пропуснали нещо, моля, уведомете ни чрез коментари и не забравяйте да споделите с приятелите си.

Публикациите се превеждат автоматично с google translate


Сподели