Estoy intentando automatizar el procedimiento de creación de usuarios de MySQL. pensé en crear un archivo temporal que contiene sentencias de creación de usuario de MySQL, entonces tendría que llamarlo así:Script de creación de usuario de Mysql
mysql -u root -proot < temp
Pero estoy atascado con la sintaxis de MySQL : aquí es el contenido de mi archivo temporal:
DROP DATABASE IF EXISTS mytestdatabase;
CREATE DATABASE mytestdatabase;
SELECT @password:="my password";
DELETE FROM mysql.user WHERE Host='localhost' AND User='mytestdatabase';
GRANT ALL PRIVILEGES ON mytestdatabase.* TO 'mytestdatabase'@'localhost' IDENTIFIED BY PASSWORD '@password';
FLUSH PRIVILEGES;
Pero la línea
GRANT ALL PRIVILEGES ON mytestdatabase.* TO 'mytestdatabase'@'localhost' IDENTIFIED BY PASSWORD '@password';
(hash de la contraseña debe ser un número hexadecimal de 41 dígitos)
no se interpreta como yo esperaba que fuera. Incluso si elimino comillas simples alrededor de la etiqueta @password, sigo teniendo errores (error de sintaxis)
¿Cómo puedo hacer esto?
¿Cuál es el mensaje de error? –
ERROR 1372 (HY000) en la línea 9: hash de contraseña debe ser un número hexadecimal de 41 dígitos – ling