Está en la página 1de 9

APUNTES DE CONFIGURACIÓN MARIADB

Vladimir Zúñiga C – instituto electromechanics


Fuentes:

• MariaDB Knowledge Base https://mariadb.com/kb/

• Configuración básica de MySQL™ y MariaDB™. - Joel Barrios Dueñas


http://www.alcancelibre.org/staticpages/index.php/como-mysql-quickstart/

Como Iniciar y detener MariaDB


Al igual que con otros servicios, existe más de una forma de controlar el servidor Mysqld.

En Slackware, SalixOS y derivados:


Iniciar sh /etc/rc.d/rc.mysqld start

Detener sh /etc/rc.d/rc.mysqld stop

Reiniciar sh /etc/rc.d/rc.mysqld restart

En ALDOS, CentOS 5 y 6 y Red Hat™ Enterprise Linux 5 y 6.


Habilitar chkconfig mysqld on

Iniciar service mysqld start

Reiniciar service mysqld stop

Detener service mysqld restart


En Centos7, Fedora y RHEL 7 y compatibles:

Habilitar systemctl enable mariadb

Iniciar systemctl mysqld start

Reiniciar systemctl mysqld stop

Detener systemctl mysqld restart


Creación de Usuario Root
mysqladmin ­u root password 'contraseña'

Inicio de sesión
Sintaxis

mysql ­u usuario ­p ­h host [basededatos]

Recuperación de la contraseña de root.


Siga el siguiente procedimiento en caso de que haya extraviado la contraseña de root de
MySQL™.
Detenga el servicio.
Ejecute mysqld_safe con la opción --skip-grant-tables, enviando el proceso a segundo
plano:

mysqld_safe --skip-grant-tables &

Ingrese al intérprete de mandatos de MySQL™ ejecutando mysql sin argumentos u


opciones:

mysql

Ejecute lo siguiente:

UPDATE mysql.user
SET Password=PASSWORD('nueva-contraseña')
WHERE User='root';
FLUSH PRIVILEGES;

Salga del intérprete de mandatos de MySQL™ ejecutando lo siguiente:

exit;

Detenga el servicio ejecutando mysqladmin con la opción -p y shutdown como


argumento. Se solicitará se ingrese la nueva contraseña asignada.

mysqladmin -p shutdown
Comandos SQL Básicos
Definiendo cómo es almacenada la información.
• CREATE DATABASE se utiliza para crear una nueva base de datos vacía.
• DROP DATABASE se utiliza para eliminar completamente una base de datos
existente.
• CREATE TABLE se utiliza para crear una nueva tabla, donde la información se
almacena realmente.
• ALTER TABLE se utiliza para modificar una tabla ya existente.
• DROP TABLE se utiliza para eliminar por completo una tabla existente.

Manipulando los datos.


• SELECT se utiliza cuando quieres leer (o seleccionar) tus datos.
• INSERT se utiliza cuando quieres añadir (o insertar) nuevos datos.
• UPDATE se utiliza cuando quieres cambiar (o actualizar) datos existentes.
• DELETE se utiliza cuando quieres eliminar (o borrar) datos existentes.
• REPLACE se utiliza cuando quieres añadir o cambiar (o reemplazar) datos nuevos o
ya existentes.
• TRUNCATE se utiliza cuando quieres vaciar (o borrar) todos los datos de la plantilla.

Un ejemplo sencillo.
CREATE DATABASE mydb;
USE mydb;
CREATE TABLE mitabla ( id INT PRIMARY KEY, nombre VARCHAR(20) );
INSERT INTO mitabla VALUES ( 1, 'Will' );
INSERT INTO mitabla VALUES ( 2, 'Marry' );
INSERT INTO mitabla VALUES ( 3, 'Dean' );
SELECT id, nombre FROM mitabla WHERE id = 1;
UPDATE mitabla SET nombre = 'Willy' WHERE id = 1;
SELECT id, nombre FROM mitabla;
DELETE FROM mitabla WHERE id = 1;
SELECT id, nombre FROM mitabla;
DROP DATABASE mydb;
SELECT count(1) from mitabla; da el número de registros en la tabla
CREATE USER
Sintaxis
CREATE USER user [IDENTIFIED BY [PASSWORD] 'password']
    [, user [IDENTIFIED BY [PASSWORD] 'password']] ...

Descripción
La instrucción CREATE USER crea nuevas cuentas MariaDB. Para poder utilizarla, debes
tener el privilegio global CREATE USER o el privilegio INSERT para la base de datos mysql.
Para cada cuenta, CREATE USER crea una nueva fila en la tabla mysql.user, que no tiene
privilegios.
Ver Nombres de cuenta más abajo para detalles en cómo se especifican los nombres de las
cuentas.
Si una de las cuentas de usuario especificadas ya existe, dará un ERROR 1396 (HY000). Si
ocurre un error, CREATE USER todavía creará las cuentas que no resulten en el mismo.
Se le puede proporcionar una contraseña a la cuenta con la cláusula opcional IDENTIFIED
BY. Para especificar la contraseña en texto simple, se omite la palabra clave PASSWORD.
Para especificar la contraseña como el valor hash retornado por la función PASSWORD, se
incluye la palabra clave PASSWORD.
Si no especificas una contraseña con la cláusula IDENTIFIED BY, el usuario será capaz de
conectarse sin ella. Una contraseña en blanco no es un carácter comodín que pueda
corresponder a cualquier contraseña. El usuario debe conectarse sin proporcionar ninguna
contraseña, si la misma no está definida.

Nombres de cuenta
Los nombres de cuenta tienen tanto un nombre de usuario como un nombre de host,
especificados como 'user_name'@'host_name'.
Cuando te conectas a un servidor MariaDB, tu nombre de ususario y host debe
corresponder a una sola cuenta.
El nombre de usuario y el nombre de host pueden ir sin comillas, entrecomillados utilizando
(") o ('), o (`). Debes usar comillas cuando utilices caracteres especiales (como guiones) o
caracteres comodín. Si usas comillas, debes entrecomillar el nombre de usuario y el
nombre de host de forma separada (por ejemplo 'user_name'@'host_name').

Nombres de host
Si no se proporciona nombre de host, se asume que es '%'.
Los nombres de host pueden tener los caracteres comodín % y _. Se comparan con la
cláusula LIKE. Si necesitas utilizar uno de estos caracteres de forma literal (por ejemplo,
para hacer que un nombre de dominio coincida con un guión bajo), debes usar una barra
inversa como prefijo (\). Ver LIKE para más información sobre escape de caracteres
comodín.
Las correspondencias de nombres de host no distinguen entre mayúsculas y minúsculas.
Los nombres de host pueden corrensponder tanto a nombres de dominio como a
direcciones IP. Usa 'localhost' como el nombre de host para permitir únicamente conexiones
del cliente local.
Puedes utilizar una máscara de red para cubrir un intervalo de direcciones IP usando
'base_ip/netmask' como nombre de host. Un usuario con una dirección IP ip_addr tendrá
permiso para conectarse si la siguiente condición resulta verdadera:
ip_addr & netmask = base_ip

Sólo puedes usar máscaras de red que especifiquen un múltiplo de 8 bits de la dirección
correspondiente. Esto es, sólo las siguientes máscaras de red están permitidas:
255.0.0.0
255.255.0.0
255.255.255.0
255.255.255.255

Ten en cuenta que usar 255.255.255.255 es equivalente a no usar ninguna máscara de red.

Nombres de usuario
Los nombres de usuario deben coincidir exactamente, incluyendo mayúsculas y
minúsculas. Puedes utilizar una cadena de texto vacía para permitir un usuario con
cualquier nombre.
Es posible que coincida más de una cuenta cuando se conecta un/a usuari@. MariaDB
selecciona la primera coincidencia, después de clasificar siguiendo los siguiente criterios:
• Cuentas con un nombre de host exacto son ordenados antes que las cuentas que
contengan un carácter comodín en el nombre de host. Los nombres de host que
usen una máscara de red son considerados exactos a efectos de la clasificación.
• Cuentas con un carácter comodín en el nombre de host son ordenadas de acuerdo
con la posición del primero de estos caracteres. Aquéllos cuyo carácter comodín sea
posterior irán antes que los que tengan dicho tipo de carácter en una posición más
temprana en el nombre de host.
• Cuentas con un nombre de usuario no vacío se ordenan antes que las que tengan un
nombre de usuario vacío.
La siguiente tabla muestra un ejemplo de lista de cuentas ordenadas por estos criterios:
+­­­­­­­­­+­­­­­­­­­­­­­+
| User    | Host        |
+­­­­­­­­­+­­­­­­­­­­­­­+
| jeffrey | 192.168.0.3 |
|         | 192.168.0.% |
| jeffrey | 192.168.%   |
|         | 192.168.%   |
+­­­­­­­­­+­­­­­­­­­­­­­+

Una vez conectad@, sólo tienes los privilegios concedidos a la cuenta correspondiente, y
no a todas las cuentas que podrían corresponder. Por ejemplo, considera los siguientes
comandos:
CREATE USER 'jeffrey'@'192.168.0.3';
CREATE USER 'jeffrey'@'%';
GRANT SELECT ON test.t1 to 'jeffrey'@'192.168.0.3';
GRANT SELECT ON test.t2 to 'jeffrey'@'%';

Si te conectas como jeffrey desde 192.168.0.3, tendrás el privilegio SELECT en la tabla


test.t1, pero no en la tabla test.t2. Si te conectas como jeffrey desde cualquier otra
dirección IP, tendrás el privilegio SELECT en la tabla test.t2, pero no en la tabla test.t1.

DROP USER
Sintaxis
DROP USER user [, user] ...

Descripción
La instrucción DROP USER elimina una o más cuentas MariaDB. Elimina también las filas con
privilegios de la cuenta de todas las tablas de permisos. Para utilizar esta instrucción, debes tener el
privilegio global CREATE USER o el privilegio DELETE para la base de datos mysql. Cada cuenta es
nombrada utilizando el mismo formato que en la instrucción CREATE USER; por ejemplo,
'jeffrey'@'localhost'. Si especificas sólo el nombre de usuario del nombre de la cuenta, se
usará '%' como una parte del nombre de host. Para más información sobre cómo especificar nombres
de cuentas, ver CREATE USER.

Si alguna de las cuentas de usuario especificadas no existe, aparecerá ERROR 1396 (HY000). Aún
si ocurre un error, DROP USER todavía eliminará las cuentas que no produzcan error.
Permisos de acceso a las bases de datos.
Ingrese al intérprete de MySQL™ como root:

mysql -u root -p

Ejecute lo siguiente para asignar los permisos select (seleccionar), insert (insertar),
update (actualizar), create (crear), alter (alterar), delete (eliminar) y drop (descartar)
sobre las tablas de una base de datos al usuario prueba desde el anfitrión local:

GRANT
select, insert, update, create, alter, delete, drop
ON
base-de-datos.*
TO
usuario@localhost
IDENTIFIED BY
'contraseña';

Puede otorgar al usuario todos los permisos sobre la base de datos ejecutando algo similar
a lo siguiente:

GRANT
all
ON
base-de-datos.*
< TO
usuario@localhost
IDENTIFIED BY
'contraseña';

Ejecute algo similar al ejemplo anterior, pero definiendo el usuario y la dirección IP del
anfitrión remoto para permitir el acceso hacia una base de datos desde un anfitrión
remoto. Ejemplo:
GRANT
select, insert, update, create, alter, delete, drop
ON
directorio.*
TO
usuario@192.168.70.2
IDENTIFIED BY
'contraseña';

Puede otorgar al usuario todos los permisos sobre la base de datos ejecutando lo siguiente:

GRANT
all
ON
directorio.*
TO
usuario@192.168.70.2
IDENTIFIED BY
'contraseña';

Ejecute algo similar a lo anterior, pero definiendo el nombre del usuario entre comillas
simples, arroba y el símbolo % entre comillas simples para permitir el acceso hacia una
base de datos desde cualquier anfitrión. Ejemplo:

GRANT
all
ON
directorio.*
TO
'usuario'@'%'
IDENTIFIED BY
'contraseña-usuario-usuario';

Crear y eliminar bases de datos.


Para crear una nueva base de datos, ejecute mysqladmin con create como argumento, la opción -u con
root como usuario y la opción -p para indicar que se ingresará una contraseña:

mysqladmin -u root -p create basedatos

Para eliminar una base de datos, ejecute mysqladmin con drop como argumento en lugar de create, la
opción -u con root como usuario y la opción -p para indicar que se ingresará una contraseña:

mysqladmin -u root -p drop basedatos


Respaldo y restauración de bases de datos.
Para respaldar una base de datos desde el anfitrión local, ejecute mysqldump con las
opciones --opt (que añade automáticamente las opciones --add-drop-table, --add-locks,
--create-options, --quick, --extended-insert, --lock-tables, --set-charset y --disable-keys), la
opción -u con el nombre de usuario a utilizar, la opción -p para indicar que se ingresará
una contraseña, el nombre de la base de datos, > para guardar la salida estándar
(STDOUT) en un archivo y el nombre del archivo donde se guardará el respaldo.
Ejemplo:

mysqldump --opt -u root -p basedatos > respaldo.sql

Para restaurar un respaldo, ejecute mysql con las opciones -u con el nombre de usuario
con privilegios sobre la base de datos a restaurar, -p para indicar que se utilizará
contraseña, el nombre de la base de datos a restaurar, < para indicar que la entrada
estándar (STDIN) será un archivo y el nombre del archivo con el respaldo de la base de
datos. Ejemplo:

mysql -u root -p basedatos < respaldo.sql

Para respaldar todas la bases de datos hospedadas en MySQL™, ejecute mysqldump con
las opciones --opt, --all-databases para indicar que se respaldarán todas la bases de
datos, la opción -u con root como usuario, la opción -p para indicar que se utilizará
contraseña, el símbolo > para guardar la salida estándar (STDOUT) en un archivo y el
nombre del archivo donde se guardará el respaldo. Ejemplo:

mysqldump --opt --all-databases -u root -p > respaldo-todo.sql

Para restaurar todas las bases de datos a partir de un único archivo de respaldo, ejecute
mysql con la opción -u con root como usuario, la opción -p para indicar que se utilizará
contraseña, el símbolo < para indicar que la entrada estándar (STDIN) será un archivo y el
nombre del archivo con el respaldo de todas las bases de datos. Ejemplo:

mysql -u root -p < respaldo-todo.sql

También podría gustarte