Zoeken op website

20 mysqladmin-opdrachten voor MYSQL/MariaDB-beheer


mysqladmin is een hulpprogramma voor databasebeheer via de opdrachtregel dat wordt geleverd met de MySQL/MariaDB-server, die door Databasebeheerders wordt gebruikt om enkele basistaken uit te voeren >MySQL taken zoals het instellen van het root-wachtwoord, het wijzigen van het root-wachtwoord, het monitoren van mysql-processen, het herladen van privileges, het maken/verwijderen van databases, het controleren van de serverstatus, het tonen van gebruiksstatistieken, het beëindigen van actieve queries, enz.

Het commando om mysqladmin te gebruiken en de algemene syntaxis is:

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

Als u geen MySQL/MariaDB-server heeft geïnstalleerd of als u een oudere versie van de MySQL-server gebruikt, raden we u aan de MySQL-versie te installeren of bij te werken met behulp van de volgende artikelen:

  • MySQL installeren op op RHEL gebaseerde distributies
  • MariaDB installeren in RHEL- en Debian-systemen

In dit artikel hebben we een aantal zeer nuttige ‘mysqladmin’-opdrachten verzameld die door systeem-/databasebeheerders in hun dagelijkse werk worden gebruikt. Om deze taken uit te voeren, moet er een MySQL/MariaDB-server op uw systeem zijn geïnstalleerd.

1. Hoe u een MySQL-rootwachtwoord kunt instellen

Als u een nieuwe installatie van de MySQL/MariaDB-server heeft, heeft u geen wachtwoord nodig om verbinding te maken als rootgebruiker. Om het MySQL wachtwoord voor de rootgebruiker in te stellen, gebruikt u de volgende opdracht.

mysqladmin -u root password YOURNEWPASSWORD

Waarschuwing: het instellen van een nieuw MYSQL-wachtwoord met mysqladmin moet als kwetsbaar worden beschouwd. Op sommige systemen wordt uw wachtwoord zichtbaar voor systeemstatusprogramma's zoals de opdracht ps die door andere gebruikers kan worden uitgevoerd om de status van actieve processen op een systeem te kennen.

2. Hoe u het MySQL-rootwachtwoord kunt wijzigen

Als u het MySQL root-wachtwoord wilt wijzigen of bijwerken, typt u de volgende opdracht. Stel bijvoorbeeld dat uw oude wachtwoord 123456 is en dat u dit wilt wijzigen met een nieuw wachtwoord, bijvoorbeeld xyz123.

mysqladmin -u root -p123456 password 'xyz123'

3. Hoe u de status van MySQL Server kunt controleren

Gebruik de volgende opdracht om erachter te komen of de MySQL-server actief is.

mysqladmin -u root -p ping

Enter password:
mysqld is alive

4. Hoe ik kan controleren welke MySQL-versie ik gebruik

De volgende opdracht toont de MySQL-versie samen met de huidige actieve status.

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. Hoe u de huidige status van MySQL Server kunt achterhalen

Gebruik de volgende opdracht om de huidige status van de MySQL-server te achterhalen. De opdracht mysqladmin toont de status van uptime bij actieve threads en query's.

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-statusvariabelen en hun waarden controleren

Om alle actieve status van MySQL servervariabelen en -waarden te controleren, typt u de volgende opdracht. De uitvoer zou vergelijkbaar zijn met die hieronder.

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. Hoe kunt u alle MySQL-servervariabelen en -waarden bekijken?

Om alle actieve variabelen en waarden van de MySQL-server te zien, gebruikt u de opdracht als volgt.

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. Hoe u actieve threads van MySQL Server kunt controleren

Met de volgende opdracht worden alle actieve processen van MySQL databasequery's weergegeven.

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. Hoe u een database maakt in MySQL Server

Gebruik de onderstaande opdracht om een nieuwe database op de MySQL-server aan te maken.

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. Hoe u een database in MySQL Server kunt neerzetten

Om een database op de MySQL-server neer te zetten, gebruikt u de volgende opdracht. U wordt gevraagd om te bevestigen, druk op ‘y‘.

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. Hoe MySQL-rechten opnieuw laden/vernieuwen?

De opdracht reload vertelt de server dat de toekenningstabellen opnieuw moeten worden geladen en de opdracht refresh wist alle tabellen en opent de logbestanden opnieuw.

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

12. MySQL Server veilig afsluiten

Om de MySQL-server veilig af te sluiten, typt u de volgende opdracht.

mysqladmin -u root -p shutdown

Enter password:

U kunt ook de volgende opdrachten gebruiken om de MySQL-server te starten/stoppen.

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

13. Enkele nuttige MySQL-flush-opdrachten

Hieronder volgen enkele nuttige spoelopdrachten met hun beschrijving.

  • flush-hosts: Wis alle hostinformatie uit de hostcache.
  • flush-tables: Spoel alle tafels door.
  • flush-threads: Alle threadcache leegmaken.
  • flush-logs: Alle informatielogboeken leegmaken.
  • flush-privileges: herlaad de subsidietabellen (hetzelfde als herladen).
  • flush-status: statusvariabelen wissen.

Laten we deze opdrachten eens bekijken.

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. Hoe kan ik het Sleeping MySQL-clientproces beëindigen?

Gebruik de volgende opdracht om het slapende MySQL-clientproces te identificeren.

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 |
+----+------+-----------+----+---------+------+-------+------------------+

Voer nu de volgende opdracht uit met kill en process ID, zoals hieronder weergegeven.

mysqladmin -u root -p kill 5

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

Als u meerdere processen wilt beëindigen, geef dan de proces-ID's door met komma's gescheiden, zoals hieronder weergegeven.

mysqladmin -u root -p kill 5,10

15. Meerdere mysqladmin-opdrachten samen uitvoeren

Als je meerdere ‘mysqladmin’-opdrachten tegelijk wilt uitvoeren, dan zou het commando er als volgt uitzien.

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. Hoe u een externe MySQL-server kunt verbinden

Om verbinding te maken met de externe MySQL-server, gebruikt u de -h (host)  met het IP-adres van de externe machine.

mysqladmin -h 172.16.25.126 -u root -p

17. Een opdracht uitvoeren op een externe MySQL-server

Stel dat u de status van de externe MySQL-server wilt zien, dan zou het commando zijn.

mysqladmin -h 172.16.25.126 -u root -p status

18. MySQL-replicatie op een slaveserver starten/stoppen

Gebruik de volgende opdrachten om MySQL-replicatie op de slaveserver te starten/stoppen.

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

19. Hoe u MySQL Server-foutopsporingsinformatie in logboeken kunt opslaan

Het vertelt de server om foutopsporingsinformatie over gebruikte vergrendelingen, gebruikt geheugen en querygebruik naar het MySQL logbestand te schrijven, inclusief informatie over de gebeurtenisplanner.

mysqladmin  -u root -p debug

Enter password:

20. Mysqladmin-opties en -gebruik bekijken

Voor meer opties en gebruik van de opdracht myslqadmin gebruikt u de helpopdracht, zoals hieronder weergegeven. Er wordt een lijst met beschikbare opties weergegeven.

mysqladmin --help

We hebben ons best gedaan om bijna alle 'mysqladmin'-opdrachten met hun voorbeelden in dit artikel op te nemen. Als we nog steeds iets hebben gemist, laat het ons dan weten via opmerkingen, en doe dat niet vergeet te delen met je vrienden.