Cómo cambiar el privilegio a una tabla de MySQL

MySQL permite modificar la tabla de privilegios.
Por contributor

Cambiar una tabla de privilegios de MySQL


Paso 1

Inicia una sesión como root u otro usuario administrador. Para utilizar el comando GRANT de MySQL, es necesario ser root u otro usuario con privilegios. Desde la línea de comandos del cliente de MySQL, conéctate a la base de datos como root. Ejemplo: mysql -u root -h localhost


Paso 2

Reemplaza localhost por el host de tu base, a menos que estés ejecutando el servidor MySQL en la misma computadora que estás utilizando. De lo contrario, utiliza el nombre de host del servidor MySQL. Ejemplo: mysql -u root -h localhost -p


Conceder privilegio 'Read'


Paso 1

Concede privilegios de lectura a un usuario si no necesita cambiar ningún dato. Por ejemplo, si el departamento de marketing quiere tener acceso a su base de datos de clientes, podrías brindarles acceso sólo de lectura a esta base de datos.


Paso 2

Logra esto con el comando GRANT de tres partes desde el usuario root. Para cambiar los privilegios, GRANT exige ejecutar el comando para quién tendrá privilegios de acceso a las bases de datos y tablas, y qué contraseñas se debería utilizar para iniciar sesión. En este ejemplo, el comando GRANT otorga permiso para utilizar el comando SELECT en todas las tablas de la base de datos customers_db. Se otorga permiso para el inicio de sesión del usuario 'marketing' desde 'localhost', quien se identifica con la contraseña 'some_password'. Ejemplo: GRANT SELECT ON customers_db.* TO 'marketing'@'localhost' IDENTIFIED BY 'some_password';'some_password';


Conceder privilegio 'Write'


Paso 1

Concede privilegios de escritura para el usuario. Este comando tiene la misma forma que la concesión de privilegios de lectura, pero agrega más comandos con SELECT.


Paso 2

Identifica qué tipo de privilegios necesitará el usuario. Aquí el comando concede el permiso del departamento de contabilidad para insertar y actualizar, así como seleccionar datos de las bases de datos de los clientes. Ejemplo: GRANT SELECT,INSERT,UPDATE ON customers_db.* TO 'accounting'@'localhost' IDENTIFIED BY 'some_password';


Conceder privilegio 'Admin'


Paso 1

Concede privilegios de administrador a un usuario. Este comando otorga permisos para ejecutar todos los comandos.


Paso 2

Utiliza este comando para dar a otros administradores un control total sobre una base de datos. Ejemplo: GRANT ALL PRIVILEGES ON customers_db.* TO 'admin'@'localhost' IDENTIFIED BY 'some_password'