LinuxParty

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

Lo más probable es que no vaya a realizar muchas operaciones manuales con la base de datos MariaDB, tales como la creación de tablas o añadir datos, porque seguramente usará otros programas que utilizan backends de bases de datos. Los siguientes comandos le ayudarán, y muestran cómo recuperar una contraseña de root, ver lo que está en su base de datos, cómo conseguir ayuda, y cómo buscar una cadena de texto en particular.

Password de Root perdida

Cuando instala MariaDB en Linux usted tiene la opción de crear una contraseña de root. Es probable que enseguida la olvide. No se preocupe, porque mientras tenga acceso de root Linux podrá recuperar para MariaDB.

 Primero detenga su base de datos si está corriendo. En Red Hat Linux, CentOS, y Fedora use el comando systemctl:

$ sudo systemctl stop mariadb.service

O
service mariadb stop
o
service mysqld stop

En Debian, Ubuntu, y Linux Mint todavía podrá usar el comando service:

$ sudo service mysql stop
 * Stopping MariaDB database server mysqld  

Ahora, reinicie MariaDB con el comando mysqld_safe, que es la forma más segura de iniciar MariaDB. --skip-grant-tables inicia el servidor sin restricciones de usuario, por lo que es muy abierta:

$ sudo mysqld_safe --skip-grant-tables --skip-networking &
[1] 11278
carla@studio:~/Documents/1articles/linuxcom$ 141029 19:37:57 mysqld_safe Logging to 
syslog.
141029 19:37:57 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

La opción --skip-networking previene que cualquiera a escondidas pueda conectarse. Obviamente, no utilice esto si está iniciando una sesión remota. Ahora se puede restablecer la contraseña de root utilizando la shell de mysql. Inicia sesión para MariaDB, seleccione la base de datos mysql, restablezca la contraseña de root, y salga de inmediato:

$ mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 1
Server version: 5.5.39-MariaDB-0ubuntu0.14.04.1 (Ubuntu)
Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> update user set password=PASSWORD("new-password") where User='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> exit
Bye

Ahora intente iniciar sesión con tu nueva contraseña:

$ mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.39-MariaDB-0ubuntu0.14.04.1 (Ubuntu)

Utilice esta sola línea para cambiar la contraseña de cualquier usuario sin necesidad de acceder a la shell de MariaDB:

$ mysqladmin -u carla -p 'old-password' password 'new-password'

Debian's Back Door

Debian almacena la contraseña de texto para su sistema MariaDB usuario en /etc/mysql/debian.cnf:

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = LofpsiQCKOcGzoqJ

Puede iniciar sesión con este usuario y hacer lo que quiera, incluyendo restablecer la contraseña de root.

Viendo ¿Qué hay dentro?

Tenga cuidado cuando usted está haciendo monerías con su base de datos, debido a que algunas cosas tienen que estar ahí, como ciertos usuarios del sistema. Entrar, seleccione el mysql base de datos, y muestra una lista de sus usuarios de bases de datos:

$ mysql -u root -p
password:
MariaDB [(none)]> use mysql;
Database changed
MariaDB [mysql]> SELECT user, host, password FROM user;
+------------------+------------+---------------+
| user             | host       | password      |
+------------------+------------+---------------+
| root             | localhost  | *F6FE8C583C17 |
| root             | 127.0.0.1  | *F6FE8C583C17 |
| root             | ::1        | *F6FE8C583C17 |
| debian-sys-maint | localhost  | *21B2FE94870C |
5 rows in set (0.00 sec)

Si no ha configurado una contraseña de root entonces, el campo de la contraseña de root estará vacía. A diferencia de la contraseña debian-sys-maint en el archivo de configuración, todos estos están encriptados. ¿Por qué tantos usuarios root? Debido a que MariaDB se preocupa como y desde dónde los usuarios se conectan.

Puedes ver todas las bases de datos:

MariaDB [mysql]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| owncloud           |
| redbooks           |
| bluebooks          | 
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)

information_schema, mysql , y performance_schema son todas las bases de datos MariaDB internas. No borre o las cambie, o tendrás problemas. Usted puede mirar en su interior y ver todos sus nombres de tabla:

MariaDB [mysql]> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |

Usted puede ver las estructuras de la tabla, mostrar todas las columnas de las tablas y todas las variables que pueden asignarse a los usuarios::

MariaDB [mysql]> describe user;
+------------+------------+------+-----+---------+-------+
| Field      | Type       | Null | Key | Default | Extra |
+------------+------------+------+-----+---------+-------+
| Host       | char(60)   | NO   | PRI |         |       |
| User       | char(16)   | NO   | PRI |         |       |
| Password   | char(41)   | NO   |     |         |       |
| Select_priv| enum       | NO   |     | N       |       |
| Insert_priv| enum       | NO   |     | N       |       |
| Update_priv| enum       | NO   |     | N       |       |

¿Qué pasa si usted quiere ver los datos de la tabla? Este ejemplo muestra toda ella;

MariaDB [mysql]> select * from user;

Ahora vamos a seleccionar sólo unos campos de lo que queremos ver.

MariaDB [mysql]> SELECT user, super_priv FROM user;
+------------------+------------+
| user             | super_priv |
+------------------+------------+
| root             | Y          |
| root             | Y          |
| root             | Y          |
| root             | Y          |
| debian-sys-maint | Y          |
| carla            | Y          |
| layla            | N          |
| toshi            | N          |

Buscando MariaDB cadenas de texto arbitrarias

Una manera de buscar un poco arbitraria datos en sus bases de datos es convirtiéndola en un archivo de texto y, a continuación, buscar el texto. Este ejemplo da formato al archivo de volcado con saltos de línea, por lo que es legible se puede usar grep:

$ mysqldump -u user -p --extended-insert=false --all-databases  > dbdump.txt

Por supuesto, usted puede volcar de las bases de datos seleccionadas:

$ mysqldump -u user -p --extended-insert=false --databases db2 db3 > dbdump.txt

Entonces puede usar grep sobre el volcado con la cadena de búsqueda, al igual que busca en un archivo.

$ grep -i pinecones  dbdump.txt 
INSERT INTO `forest` VALUES (4,'PINECONE');
INSERT INTO `forest` VALUES (11,'PINECONES');
INSERT INTO `mountain` VALUES (21,'PINECONE');

Estas son ayudas de contenido.

MariaDB [mysql]> help contents
You asked for help about help category: "Contents"
For more information, type 'help ', where  is one of the following
categories:
   Account Management
   Administration
   Compound Statements
   Data Definition
   Data Manipulation

MySQL no va a desaparecer, pero MariaDB está convirtiendo rápidamente en la base de datos por defecto en las distribuciones de Linux, y los aficionados no están reemplazando Oracle MySQL tan rápido como pueden. Por favor, visite MariaDB.com leer mucho más buena documentación, y pasar de MySQL debería ser de utilidad para los usuarios de MySQL que quieren hacer el cambio.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política