20 MySQL (Mysqladmin) kommandoer for databaseadministrasjon i Linux


mysqladmin er et kommandolinjeverktøy som følger med MySQL-serveren, og det brukes av databaseadministratorer for å enkelt utføre noen grunnleggende MySQL-oppgaver som å angi root-passord, endre root-passord, overvåke mysql-prosesser, laste inn privilegier, sjekke serverstatus etc.

I denne artikkelen har vi samlet noen veldig nyttige 'mysqladmin'-kommandoer som brukes av system-/databaseadministratorer i deres daglige arbeid. Du må ha MySQL-server installert på systemet ditt for å utføre disse oppgavene.

Hvis du ikke har MySQL-serveren installert eller du bruker en eldre versjon av MySQL-serveren, anbefaler vi alle å installere eller oppdatere versjonen din ved å følge artikkelen nedenfor.

  1. Installasjon av MySQL 5.5.28 Server på RHEL/CentOS/Fedora

1. Hvordan sette MySQL Root-passord?

Hvis du har ny installasjon av MySQL-serveren, krever den ikke noe passord for å koble den til som root-bruker. For å angi MySQL-passord for root-bruker, bruk følgende kommando.

# mysqladmin -u root password YOURNEWPASSWORD

2. Hvordan endre MySQL Root-passord?

Hvis du vil endre eller oppdatere MySQL root-passord, må du skrive inn følgende kommando. Si for eksempel at det gamle passordet ditt er 123456 og at du vil endre det med nytt passord, si xyz123.

mysqladmin -u root -p123456 password 'xyz123'

3. Hvordan sjekke at MySQL Server kjører?

For å finne ut om MySQL-serveren er oppe og kjører, bruk følgende kommando.

# mysqladmin -u root -p ping

Enter password:
mysqld is alive

4. Hvordan sjekke hvilken MySQL-versjon jeg kjører?

Følgende kommando viser MySQL-versjonen sammen med gjeldende kjørestatus.

# mysqladmin -u root -p version

Enter password:
mysqladmin  Ver 8.42 Distrib 5.5.28, for Linux on i686
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version          5.5.28
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 7 days 14 min 45 sec

Threads: 2  Questions: 36002  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.059

5. Hvordan finne ut gjeldende status for MySQL-serveren?

For å finne ut gjeldende status til MySQL-serveren, bruk følgende kommando. Mysqladmin-kommandoen viser status for oppetid med løpende tråder og spørringer.

# mysqladmin -u root -ptmppassword status

Enter password:
Uptime: 606704  Threads: 2  Questions: 36003  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.059

6. Hvordan sjekke status for alle MySQL Server-variabler og verdier?

For å sjekke all kjørestatus for MySQL-servervariabler og -verdier, skriv inn følgende kommando. Utgangen vil være lik nedenfor.

# mysqladmin -u root -p extended-status

Enter password:
+------------------------------------------+-------------+
| Variable_name                            | Value       |
+------------------------------------------+-------------+
| Aborted_clients                          | 3           |
| Aborted_connects                         | 3           |
| Binlog_cache_disk_use                    | 0           |
| Binlog_cache_use                         | 0           |
| Binlog_stmt_cache_disk_use               | 0           |
| Binlog_stmt_cache_use                    | 0           |
| Bytes_received                           | 6400357     |
| Bytes_sent                               | 2610105     |
| Com_admin_commands                       | 3           |
| Com_assign_to_keycache                   | 0           |
| Com_alter_db                             | 0           |
| Com_alter_db_upgrade                     | 0           |
| Com_alter_event                          | 0           |
| Com_alter_function                       | 0           |
| Com_alter_procedure                      | 0           |
| Com_alter_server                         | 0           |
| Com_alter_table                          | 0           |
| Com_alter_tablespace                     | 0           |
+------------------------------------------+-------------+

7. Hvordan se alle MySQL-servervariabler og -verdier?

For å se alle kjørevariablene og verdiene til MySQL-serveren, bruk kommandoen som følger.

# 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. Hvordan sjekke all den kjørende prosessen til MySQL-serveren?

Følgende kommando vil vise hele prosessen med MySQL-databasespørringer.

# mysqladmin -u root -p processlist

Enter password:
+-------+---------+-----------------+---------+---------+------+-------+------------------+
| Id    | User    | Host            | db      | Command | Time | State | Info             |
+-------+---------+-----------------+---------+---------+------+-------+------------------+
| 18001 | rsyslog | localhost:38307 | rsyslog | Sleep   | 5590 |       |                  |
| 18020 | root    | localhost       |         | Query   | 0    |       | show processlist |
+-------+---------+-----------------+---------+---------+------+-------+------------------+

9. Hvordan lage en database i MySQL server?

For å opprette en ny database i MySQL-serveren, bruk kommandoen som vist nedenfor.

# mysqladmin -u root -p create databasename

Enter password:
# mysql -u root -p

Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 18027
Server version: 5.5.28 MySQL Community Server (GPL) by Remi

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| databasename       |
| mysql              |
| test               |
+--------------------+
8 rows in set (0.01 sec)

mysql>

10. Hvordan slippe en database i MySQL-serveren?

For å slippe en database i MySQL-server, bruk følgende kommando. Du vil bli bedt om å bekrefte trykk 'y'.

# mysqladmin -u root -p drop databasename

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 'databasename' database [y/N] y
Database "databasename" dropped

11. Hvordan laste inn/oppdatere MySQL-privilegier?

Reload-kommandoen forteller serveren om å laste inn bevilgningstabellene på nytt. Refresh-kommandoen tømmer alle tabeller og åpner loggfilene på nytt.

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

12. Hvordan slå av MySQL-serveren trygt?

For å slå av MySQL-serveren på en sikker måte, skriv inn følgende kommando.

mysqladmin -u root -p shutdown

Enter password:

Du kan også bruke følgende kommandoer for å starte/stoppe MySQL-serveren.

# /etc/init.d/mysqld stop
# /etc/init.d/mysqld start

13. Noen nyttige MySQL Flush-kommandoer

Følgende er noen nyttige flush-kommandoer med beskrivelsen deres.

  1. flush-hosts: Tøm all vertsinformasjon fra vertsbufferen.
  2. Skylletabeller: Tøm alle tabeller.
  3. flush-threads: Tøm bufferen for alle tråder.
  4. flush-logger: Tøm alle informasjonslogger.
  5. flush-privileger: Last inn bevilgningstabellene på nytt (samme som reload).
  6. flush-status: Slett statusvariabler.

# 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. Hvordan drepe Sleeping MySQL Client Process?

Bruk følgende kommando for å identifisere sovende MySQL-klientprosess.

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

Kjør nå følgende kommando med kill and process ID som vist nedenfor.

# mysqladmin -u root -p kill 5

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

Hvis du liker å drepe flere prosesser, send deretter prosess-ID-ene med komma atskilt som vist nedenfor.

# mysqladmin -u root -p kill 5,10

15. Hvordan kjører jeg flere mysqladmin-kommandoer sammen?

Hvis du ønsker å utføre flere 'mysqladmin'-kommandoer sammen, vil kommandoen være slik.

# mysqladmin  -u root -p processlist status version

Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 8  | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
Uptime: 3801  Threads: 1  Questions: 15  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.003
mysqladmin  Ver 8.42 Distrib 5.5.28, for Linux on i686
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version          5.5.28
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 1 hour 3 min 21 sec

Threads: 1  Questions: 15  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.003

16. Hvordan koble til ekstern mysql-server

For å koble til ekstern MySQL-server, bruk -h (vert) med IP-adressen til den eksterne maskinen.

# mysqladmin  -h 172.16.25.126 -u root -p

17. Hvordan utføre kommando på ekstern MySQL-server

La oss si at du ønsker å se statusen til ekstern MySQL-server, så vil kommandoen være.

# mysqladmin  -h 172.16.25.126 -u root -p status

18. Hvordan starte/stoppe MySQL-replikering på en slaveserver?

For å starte/stoppe MySQL-replikering på salveserver, bruk følgende kommandoer.

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

19. Hvordan lagre MySQL server feilsøkingsinformasjon i logger?

Den ber serveren skrive feilsøkingsinformasjon om låser i bruk, brukt minne og spørringsbruk til MySQL-loggfilen, inkludert informasjon om hendelsesplanlegger.

# mysqladmin  -u root -p debug

Enter password:

20. Hvordan se mysqladmin-alternativer og bruk

For å finne ut flere alternativer og bruk av myslqadmin-kommandoen, bruk hjelpekommandoen som vist nedenfor. Det vil vise en liste over tilgjengelige alternativer.

# mysqladmin --help

Vi har prøvd vårt beste for å inkludere nesten alle 'mysqladmin'-kommandoer med eksemplene deres i denne artikkelen. Hvis vi fortsatt har gått glipp av noe, vennligst gi oss beskjed via kommentarer og ikke glem å dele med vennene dine.