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
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 reserv
ed.
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 - 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 |
+------------------------------------------+-------------+
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/char
sets/ |
| 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 |
+-------+---------+-----------------+---------+---------+------+-------+-
-----------------+
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 reserv
ed.
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 stateme
nt.
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
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 Flus
h 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 reserv
ed.
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 O
pen 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

Monitoreo auditoria 2

  • 1.
    1 - Configurarel 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 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 reserv ed. 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 - Como conocer el estado actual del servidor
  • 2.
    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 | +------------------------------------------+-------------+ 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 |
  • 3.
    | 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/char sets/ | | 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 | +-------+---------+-----------------+---------+---------+------+-------+- -----------------+
  • 4.
    | 18001 |rsyslog | localhost:38307 | rsyslog | Sleep | 5590 | | | | 18020 | root | localhost | | Query | 0 | | show processlist | +-------+---------+-----------------+---------+---------+------+-------+- -----------------+ 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 reserv ed. 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 stateme nt. 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:
  • 5.
    Dropping the databaseis 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 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
  • 6.
    | +----+------+-----------+----+---------+------+-------+------------------ + | 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 Flus h 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 reserv ed. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
  • 7.
    Server version 5.5.28 Protocolversion 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 O pen 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