Usuario de gestión de base de datos MySQL

1. Administrar usuarios

1.1 Creación de usuarios

CREATE USER '用户名'@'来源地址' [IDENTIFIED BY [PASSWORD] '密码'];
  • Nombre de usuario: especifique el nombre de usuario creado
  • Dirección de origen: especifique en qué hosts puede iniciar sesión el usuario recién creado. Puede usar la dirección IP, el segmento de red y el nombre de host. Los usuarios locales pueden usar localhost. Para permitir que cualquier host inicie sesión puede usar el carácter comodín %.
  • contraseña:
    • Utilice una contraseña de texto sin formato, puede ingresar la contraseña directamente y mysql la cifrará automáticamente al insertarla en la base de datos.
    • Para usar una contraseña cifrada, primero debe usar SELECTPASSWORD('contraseña'); para obtener el texto cifrado y luego agregar PASSWORD 'ciphertext'; a la declaración.
    • Si se omite la parte "IDENTIFICADO POR", la contraseña del usuario estará vacía (no recomendado)

Ejemplo: crear usuario en texto claro

CREATE USER 'lilade'@'localhost' IDENTIFIED BY '123123';

Insertar descripción de la imagen aquí
Ejemplo: crear un usuario usando texto secreto

select password('abc123');
create user 'james'@'localhost' identified by password '*6691484EA6B50DDDE1926A220DA01FA9E575C18A';

Insertar descripción de la imagen aquí

1.2 Ver información del usuario

El usuario creado se almacena en la tabla de usuarios de la base de datos mysql.

use mysql;
select User,authentication_string,Host from user;

Insertar descripción de la imagen aquí

1.3 Cambiar nombre de usuario

rename user 'lilade'@'localhost' to 'DM'@'localhost';

Insertar descripción de la imagen aquí

1.4. Eliminar usuarios

drop user 'james'@'localhost';

Insertar descripción de la imagen aquí

1.5 Modificar la contraseña del usuario de inicio de sesión actual

set password = password('123456');

Insertar descripción de la imagen aquí

1.6 Cambiar las contraseñas de otros usuarios

set password for 'DM'@'localhost' = password('abc123');

Insertar descripción de la imagen aquí

1.7 Soluciones para contraseñas olvidadas

Olvidé la contraseña de MySQL
1. Modifique el archivo de configuración y agregue la configuración para que no se utilice la tabla de autorización al iniciar sesión en MySQL.

#进入配置文件
vim /etc/my.cnf
#添加此行
skip-grant-tables

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí

2. Reinicie el servicio e inicie sesión para probar.

#重启服务
systemctl restart mysqld.service
#登录
mysql

Insertar descripción de la imagen aquí
3. Utilice la actualización para cambiar la contraseña de root y actualizar la base de datos.

#重设密码
update mysql.user set authentication_string = password('abc123') where user='root';
#刷新数据库
flush privileges;

Insertar descripción de la imagen aquí
4. Cierre sesión y vuelva a iniciar sesión para realizar la prueba.

mysql -uroot -pabc123

Insertar descripción de la imagen aquí
5. Modifique el archivo de configuración my.conf nuevamente y comente o elimine los comandos de configuración agregados anteriormente.
Insertar descripción de la imagen aquí

2. Autorización del usuario de la base de datos

2.1 Concesión de permisos

  • Declaración GRANT: se utiliza especialmente para establecer los permisos de acceso de los usuarios de la base de datos. Cuando el nombre de usuario especificado no existe, la declaración GRANT creará un nuevo usuario; cuando el nombre de usuario especificado existe, la declaración GRANT se utiliza para modificar la información del usuario.
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'来源地址' [IDENTIFIED BY '密码'];
  • Lista de permisos: se utiliza para enumerar varias operaciones de base de datos autorizadas para su uso, separadas por comas, como "seleccionar, insertar, actualizar". Utilice "todos" para indicar todos los permisos, lo que le autoriza a realizar cualquier operación.

  • Nombre de la base de datos.Nombre de la tabla: se utiliza para especificar el nombre de la base de datos y la tabla para las operaciones de autorización, en las que se puede utilizar el carácter comodín "". Por ejemplo, utilice "kgc" para indicar que los objetos de la operación de autorización son todas tablas de la base de datos kgc.

  • 'Nombre de usuario@dirección de origen': se utiliza para especificar el nombre de usuario y la dirección del cliente al que se le permite acceder, es decir, quién puede conectarse y desde dónde. La dirección de origen puede ser un nombre de dominio, una dirección IP o el carácter comodín "%" se puede utilizar para representar todas las direcciones en un área o segmento de red determinado, como "%.accp.com", "192.168.80. %", etc.

  • IDENTIFICADO POR: se utiliza para establecer la cadena de contraseña utilizada por los usuarios para conectarse a la base de datos. Al crear un nuevo usuario, si se omite la parte "IDENTIFICADO POR", la contraseña del usuario quedará en blanco.

Ejemplo: el usuario DM puede consultar localmente los registros de datos de todas las tablas en la base de datos ali, pero tiene prohibido consultar registros de tablas en otras bases de datos.

#切换mysql库
use mysql;
#查看用户
select User,authentication_string,Host from user;
#授权lilade用户
 grant select on mysql.user to 'lilade'@'localhost' identified by 'abc123';


Insertar descripción de la imagen aquí
Inicie sesión y vea la biblioteca

#登录创建的库
mysql -lilade -pabc123
#查看数据库,表,结构
show databases;
use mysql;
show tables;
select * from user;

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí

2.2 Ver permisos

SHOW GRANTS FOR 用户名@来源地址;
show grants for 'lilade'@'localhost';

Insertar descripción de la imagen aquí

2.3 Revocar permisos de usuario

#在root用户登录
mysql -uroot -pabc123
#查看lilade用户权限
show grants for 'lilade'@'localhost';
#撤销lilade用户查询权限
revoke select on mysql.* from 'lilade'@'localhost';

Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/fyb012811/article/details/133191297
Recomendado
Clasificación