Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Inicio de sesión
Sintaxis
mysql u usuario p h host [basededatos]
mysql
Ejecute lo siguiente:
UPDATE mysql.user
SET Password=PASSWORD('nueva-contraseña')
WHERE User='root';
FLUSH PRIVILEGES;
exit;
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.
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'@'%';
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';
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:
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:
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:
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: