20 ordres de MySQL (Mysqladmin) per a l'administració de bases de dades a Linux


mysqladmin és una utilitat de línia d'ordres que inclou el servidor MySQL i l'utilitzen els administradors de bases de dades per realitzar algunes tasques bàsiques de MySQL fàcilment, com ara configurar la contrasenya d'arrel, canviar la contrasenya d'arrel, supervisar els processos de mysql, tornar a carregar privilegis, comprovar l'estat del servidor, etc.

En aquest article hem recopilat algunes ordres mysqladmin molt útils que utilitzen els administradors de sistemes/bases de dades en el seu treball diari. Heu de tenir el servidor MySQL instal·lat al vostre sistema per realitzar aquestes tasques.

Si no teniu instal·lat el servidor MySQL o utilitzeu una versió anterior del servidor MySQL, us recomanem que instal·leu o actualitzeu la vostra versió seguint el nostre article següent.

  1. Instal·lació del servidor MySQL 5.5.28 a RHEL/CentOS/Fedora

1. Com configurar la contrasenya d'arrel de MySQL?

Si teniu una instal·lació nova del servidor MySQL, no necessitarà cap contrasenya per connectar-lo com a usuari root. Per establir la contrasenya de MySQL per a l'usuari root, utilitzeu l'ordre següent.

# mysqladmin -u root password YOURNEWPASSWORD

2. Com canviar la contrasenya d'arrel de MySQL?

Si voleu canviar o actualitzar la contrasenya root de MySQL, heu d'escriure l'ordre següent. Per exemple, posem que la teva contrasenya antiga és 123456 i que vols canviar-la amb una contrasenya nova, per exemple, xyz123.

mysqladmin -u root -p123456 password 'xyz123'

3. Com comprovar que el servidor MySQL s'està executant?

Per saber si el servidor MySQL està en funcionament, utilitzeu l'ordre següent.

# mysqladmin -u root -p ping

Enter password:
mysqld is alive

4. Com comprovar quina versió de MySQL estic executant?

L'ordre següent mostra la versió de MySQL juntament amb l'estat d'execució actual.

# 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. Com esbrinar l'estat actual del servidor MySQL?

Per conèixer l'estat actual del servidor MySQL, utilitzeu l'ordre següent. L'ordre mysqladmin mostra l'estat del temps d'activitat amb fils i consultes en execució.

# 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. Com comprovar l'estat de totes les variables i valors del servidor MySQL?

Per comprovar tot l'estat d'execució de les variables i valors del servidor MySQL, escriviu l'ordre següent. La sortida seria semblant a la següent.

# 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. Com veure totes les variables i valors del servidor MySQL?

Per veure totes les variables i valors en execució del servidor MySQL, utilitzeu l'ordre de la següent manera.

# 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. Com comprovar tot el procés en execució del servidor MySQL?

La següent comanda mostrarà tot el procés en execució de les consultes de la base de dades MySQL.

# 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. Com crear una base de dades al servidor MySQL?

Per crear una nova base de dades al servidor MySQL, utilitzeu l'ordre com es mostra a continuació.

# 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. Com deixar anar una base de dades al servidor MySQL?

Per deixar anar una base de dades al servidor MySQL, utilitzeu l'ordre següent. Se us demanarà que confirmeu premeu 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. Com tornar a carregar/actualitzar els privilegis de MySQL?

L'ordre reload indica al servidor que torni a carregar les taules de subvencions. L'ordre d'actualització esborra totes les taules i torna a obrir els fitxers de registre.

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

12. Com tancar el servidor MySQL amb seguretat?

Per tancar el servidor MySQL de manera segura, escriviu l'ordre següent.

mysqladmin -u root -p shutdown

Enter password:

També podeu utilitzar les ordres següents per iniciar/aturar el servidor MySQL.

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

13. Algunes ordres MySQL Flush útils

A continuació es mostren algunes ordres útils amb la seva descripció.

  1. flush-hosts: esborra tota la informació de l'amfitrió de la memòria cau de l'amfitrió.
  2. flush-tables: esborra totes les taules.
  3. flush-threads: esborra la memòria cau de tots els fils.
  4. flush-logs: esborra tots els registres d'informació.
  5. flush-privileges: torna a carregar les taules de subvencions (igual que recarrega).
  6. flush-status: esborra les variables d'estat.

# 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. Com matar el procés de client MySQL endorment?

Utilitzeu l'ordre següent per identificar el procés del client MySQL adormit.

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

Ara, executeu l'ordre següent amb l'identificador de mata i procés tal com es mostra a continuació.

# mysqladmin -u root -p kill 5

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

Si voleu matar diversos processos, passeu l'identificador del procés amb una coma separada com es mostra a continuació.

# mysqladmin -u root -p kill 5,10

15. Com executar diverses ordres de mysqladmin juntes?

Si voleu executar diverses ordres mysqladmin juntes, l'ordre seria així.

# 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. Com connectar el servidor mysql remot

Per connectar el servidor MySQL remot, utilitzeu -h (amfitrió)  amb l'adreça IP de la màquina remota.

# mysqladmin  -h 172.16.25.126 -u root -p

17. Com executar l'ordre al servidor MySQL remot

Suposem que us agradaria veure l'estat del servidor MySQL remot, llavors l'ordre seria.

# mysqladmin  -h 172.16.25.126 -u root -p status

18. Com iniciar/aturar la rèplica de MySQL en un servidor esclau?

Per iniciar/aturar la rèplica de MySQL al servidor Salve, utilitzeu les ordres següents.

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

19. Com emmagatzemar la informació de depuració del servidor MySQL als registres?

Indica al servidor que escrigui informació de depuració sobre els bloquejos en ús, la memòria utilitzada i l'ús de consultes al fitxer de registre de MySQL, inclosa informació sobre el programador d'esdeveniments.

# mysqladmin  -u root -p debug

Enter password:

20. Com veure les opcions i l'ús de mysqladmin

Per obtenir més opcions i l'ús de l'ordre myslqadmin, utilitzeu l'ordre d'ajuda tal com es mostra a continuació. Mostrarà una llista d'opcions disponibles.

# mysqladmin --help

Hem fet tot el possible per incloure gairebé totes les ordres mysqladmin amb els seus exemples en aquest article. Si encara ens hem perdut alguna cosa, feu-nos-ho saber mitjançant comentaris i no oblideu compartir-ho amb els vostres amics.