xpanel, lxde, linux, fbpanel opensuse, linux, instalacion gtk3, gnome, ambienti grafici PS3, mandos, Play Station, Linux edubuntu, ubuntu, linux fedora, linux, discapacitados visuales fuduntu, fedora, ubuntu, linux, distribuciones inkscape, grafica, linux, editor tux, tuz, iconos, mascota, linux artistx, distro, linux, artistas, graficos

Guia MySQL: comandos para la administracion de bases de datos.

mysql administracion comandosMySqlAdmin es una utilidad de la linea de comandos que viene incorporada con MySQL Server y es usada por los administradores de bases de datos para realizar algunas tareas basicas como por ejemplo configurar el password del super-usuario (root), cambiarlo, monitorear procesos de MySQL, refrescar privilegios, chqeuqear el estado del servidor, etc.

En este articulo, resumimos algunos comandos para mysqladmin muy utiles, los mismos utilizados en el dia a dia por los administradores de sistemas y bases de datos.

Para poder probar los comandos, es necesario tener instalado el servidor de MySQL.
Si no tenes instalado el servidor de MySQL, en estas entradas se explica como instalrlo (para /Red Hat Enterprise Linux/CENTOS/Fedora)
Link (explicacion en Inlges)

1 - Configurar el password de root
Si hacemos una instalacion de MySQL, veremos que no reuqerira password para conectar, por tanto configuramos uno con el siguiente comando:
# mysqladmin -u root password PASSWORD_ELEGIDO

2 - Cambiar el password de root
Si necesitamos actualizar el password de root en MySQL, entonces ejecutamos el siguiente comando.
Por ejemplo, decimos que el password antiguo es 123456 y lo queremos actualizar a xyz123.
#mysqladmin -u root -p123456 password 'xyz123'

3 - Chequear que el servidor MySQL esta activo
Para constatar esto, ejecutamos lo suiguiente.
# mysqladmin -u root -p ping
Enter password:
mysqld is alive
mysql admin
4 - Chequear que version de MySQL se esta ejecutando
El siguiente comando muestra la version de MySQL que estamos ejecutando.
# 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
MySQL_Administrator
5 - Como conocer el estado actual del servidor
Ejecutando este comando, nos muestra el estado actual, uptime (tiempo encendido), threads (hilos de procesos), y queries (cantidad de consultas).
# 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 - Chequear el estado de las variables del servidor y sus valores
Para chequear estos datos, ejecutamos lo siguiente.
# 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           |
+------------------------------------------+-------------+
MySQL_Administrator_ipv6
7 - Chequear el estado de todas las variables del servidor MySQL
Para conocer todas las varialbes activas del servidor y sus valores, ejecutamos lo suiguiente.
# 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 - Ver todos los procesos que ejecuta el servidor MySQL
El siguiente comando los muestra.
# 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 |
+-------+---------+-----------------+---------+---------+------+-------+------------------+
MySQL_Administrator_Error
9 - Como crear una base de datos
Para crear una base de datos nueva, ejecutamos.

# mysqladmin -u root -p create databasename
Enter password:
Mostrar las bases de datos creadas (show databases).
# 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 - Borrar una base de datos existente
Ejecutando el siguiente comando podra ser borrada, antes preguntara confirmacion.
# 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 - Recargar/Refrescar los privilegios MySQL
Este comando recarga los privilegios, reabre logs entre otros.
# mysqladmin -u root -p reload;
# mysqladmin -u root -p refresh

12 - Apagar de forma segura el servidor MySQL
Ejecutamos lo suiguiente.
#mysqladmin -u root -p shutdown
Enter password:
Podemos tambien usar los suiguientes comandos.
# /etc/init.d/mysqld stop
# /etc/init.d/mysqld start
MySQL_Administrator_In_use
13 - Algunos comandos utiles para refrescar datos en MySQL
flush-hosts: Refresca toda la informacion del cache que hostea MySQL.
flush-tables: Refresca todas las tablas.
flush-threads: Refresca los hilos de ejecucion.
flush-logs: Refresca todos los logs de informacion.
flush-privileges: Recarga las tablas de privilegios (lo mismo que recargar).
flush-status: Limpia el stado de las variables.
# 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 - Matar un proceso cliente dormido
Ejecutando lo siguiente.
# 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 |
+----+------+-----------+----+---------+------+-------+------------------+
Entonces ejecutamos el siguiente comando.
# mysqladmin -u root -p kill 5
Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 12 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
Si se necesita matar varios procesos, entonces le pasamos los ID's separados por comas.
# mysqladmin -u root -p kill 5,10

15 - Ejecutar varios comandos en una sola linea
Para hacerlo, deberian verse de la siguiente manera.
# 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 - Conectar a un servidor remoto
Usamos el parametro -h (host) con la direccion IP.
# mysqladmin  -h 172.16.25.126 -u root -p

17 - Ejecutar un comando en un servidor remoto
Por ejemplo para ver el estado del mismo.
# mysqladmin  -h 172.16.25.126 -u root -p status

18 - Iniciar/parar replica en un servidor remoto
Para iniciar o parar una replica, utilizamos los siguientes comandos.
# mysqladmin  -u root -p start-slave
# mysqladmin  -u root -p stop-slave

19 - Guardar informacion de debug en los logs
Informacion de memoria, entre otros.
# mysqladmin  -u root -p debug
Enter password:

20 - Ver y conocer las opciones de uso de mysqladmin
Informacion sobre mysqladmin, parametros extras.
# mysqladmin --help
 
Búsqueda personalizada
 
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Espero que esta publicación te haya gustado. Si tienes alguna duda, consulta o quieras complementar este post, no dudes en escribir en la zona de comentarios. También puedes visitar Facebook, Twitter, Google +, Linkedin, Instagram, Pinterest y Feedly donde encontrarás información complementaria a este blog. COMPARTE EN!

0 comentarios:

Publicar un comentario