Quiero comenzar a escribir consultas en MySQL.
show grants
muestra:
+--------------------------------------+
| Grants for @localhost |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+
No tengo ninguna identificación de usuario, pero cuando quiero hacer un usuario no tengo privilegios, ¡tampoco sé cómo hacer privilegios cuando ni siquiera tengo un usuario!
mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'parsa';
ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER pr
ivilege(s) for this operation
Traté de iniciar sesión como root:
mysql> mysql -u root -p;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
-u root -p' at line 1
mysql> mysql -u root -p root;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
-u root -p root' at line 1
root
debería haber sido creado cuando instaló MySQL.mysql -u root -p
. Entonces tendrá permisos completos en el servidor de la base de datos y podrá crear otros usuarios.Respuestas:
No, debe ejecutar
mysql -u root -p
en bash, no en la línea de comandos de MySQL. Si está en mysql, puede salir escribiendo exit .fuente
Es posible que deba configurar una cuenta raíz para su base de datos MySQL:
En el tipo de terminal:
Y luego para invocar al cliente MySQL:
fuente
Fui traído aquí por un problema diferente. Cada vez que intenté iniciar sesión, recibí ese mensaje porque en lugar de autenticarme correctamente, inicié sesión como usuario anónimo. La solución a mi problema fue:
Para ver qué usuario es usted y qué permisos tiene:
Para eliminar el usuario anónimo molesto:
fuente
Esto tiene algo que ver con los permisos de usuario. Dar las subvenciones adecuadas resolverá este problema.
Paso [1]: abra la terminal y ejecute este comando
Salida [1]: Esto debería proporcionarle el indicador mysql que se muestra a continuación
Paso 2]:
Sintaxis:
Paso [3]: Salga de la solicitud actual de mysql ingresando
quit
/exit
comando o presioneCtrl+D
.Paso [4]: inicie sesión con su nuevo usuario
Paso [5]: crea la base de datos
fuente
CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'your_password';
, aparece el error: ERROR 1227 (42000): acceso denegado; necesita (al menos uno de) los privilegios CREAR USUARIO para esta operaciónEs posible que desee probar el comando de inicio de sesión completo:
donde estaría el anfitrión
127.0.0.1
.Haga esto solo para asegurarse de que existe cooperación.
El uso
mysql -u root -p
me permite realizar muchas búsquedas en la base de datos, pero rechaza cualquier creación de base de datos debido a una configuración de ruta.fuente
Primero, si no está familiarizado con la línea de comandos, intente usar phpmyadmin desde su navegador web. Esto asegurará que realmente tenga una base de datos mysql creada y un nombre de usuario.
Así es como te conectas desde la línea de comando (bash):
Por ejemplo:
fuente
-p
es para contraseña y la está usando para pasar el nombre de la base de datos. Además, para la contraseña, no debe haber un espacio en blanco y negro-p
y la contraseña real. Use-D
para conectarse a una base de datos específica.Si está en un
MySQL
shell, salga escribiendo exit , que lo devolverá al símbolo del sistema.Ahora comience
MySQL
usando exactamente el siguiente comando:Si su nombre de usuario no es root, reemplace 'root' en el comando anterior con su nombre de usuario:
Luego le pedirá la
MySQL
cuenta / contraseña, yMySQL
luego no mostrará ningún problema de privilegio de acceso.fuente
@Nickparsa ... tienes 2 problemas:
1)
mysql -uroot -p
debe escribirse en bash (también conocido como su terminal) no en la línea de comandos de MySQL. Corrige este error escribiendoen su línea de comando MySQL. Ahora está de vuelta en su línea de comando bash / terminal.
2) Tiene un error de sintaxis:
el punto y coma delante de -p debe irse. La sintaxis correcta es:
escriba la sintaxis correcta en su línea de comando bash. Ingrese una contraseña si tiene una configurada; de lo contrario, simplemente presione el botón enter. Debería obtener una respuesta similar a esta:
¡Espero que esto ayude!
fuente
La mayoría de los desarrolladores inician sesión en el servidor (supongo que tiene un nombre de usuario y una contraseña para la base de datos mysql) y luego desde Bash cambian para
mysql> prompt
luego usar el comando a continuación (que no funcionaLo que hay que hacer es usar el comando anterior en el indicador bash -> al hacerlo, le pedirá una contraseña si se le da, lo llevará directamente al indicador mysql y
luego base de datos, la tabla se puede crear uno por uno
Me enfrenté a un punto muerto similar, así que compartí la experiencia
fuente
Tenía el comando correcto según las respuestas anteriores, lo que me perdí fue en el Workbench, donde mencionamos 'Limitar la conectividad desde el host' para el usuario, por defecto es "%" - ¡cambie esto a "localhost" y se conecta bien a partir de entonces!
fuente