the - ¿Cómo iniciar MySQL con--skip-grant-tables?
reset mysql root password ubuntu (9)
Cómo volver a tomar el control del usuario raíz en MySQL.
PELIGRO: OPERACIÓN DE RIESGO
- Inicie la sesión ssh (usando root si es posible).
Edite el archivo
my.cnf
usando.sudo vi /etc/my.cnf
Agregar línea al bloque mysqld. *
skip-grant-tables
Guardar y Salir.
Reinicie el servicio MySQL.
service mysql restart
Verifique el estado del servicio.
service mysql status
Conéctese a mysql.
mysql
Usando la base de datos principal.
use mysql;
Redefina la contraseña del usuario root.
UPDATE user SET `authentication_string` = PASSWORD(''myNuevoPassword'') WHERE `User` = ''root'';
Edite el archivo my.cnf.
sudo vi /etc/my.cnf
Borrar línea.
skip-grant-tables
Guardar y Salir.
Reinicie el servicio MySQL.
service mysqld restart
Verifique el estado del servicio.
service mysql status
Conectarse a la base de datos.
mysql -u root -p
Escriba una nueva contraseña cuando se le solicite.
Esta acción es muy peligrosa, permite a cualquier persona conectarse a todas las bases de datos sin restricciones sin un usuario y contraseña. Debe usarse con cuidado y debe revertirse rápidamente para evitar riesgos.
Cerré mi usuario raíz de nuestra base de datos. Necesito devolver todos los privilegios al usuario raíz. Tengo mi contraseña y puedo iniciar sesión en MySQL. Pero el usuario raíz no tiene todos los privilegios.
Después de probar muchas cosas, esto es lo que funcionó para mí:
sudo mysql -u root
ALTER USER ''root''@''localhost'' IDENTIFIED WITH mysql_native_password BY ''newpassword'';
Así que primero usamos sudo para iniciar sesión en mysql como root sin necesidad de una contraseña. Luego solo actualizamos la contraseña de root.
Después de eso, reinicié mysqld
:
sudo service mysql restart
¡Y la newpassword
sesión en root!
Edite el archivo my.ini y añada skip-grant-tables y reinicie su servidor mysql:
[mysqld]
port= 3306
socket = "C:/xampp/mysql/mysql.sock"
basedir = "C:/xampp/mysql"
tmpdir = "C:/xampp/tmp"
datadir = "C:/xampp/mysql/data"
pid_file = "mysql.pid"
# enable-named-pipe
key_buffer = 16M
max_allowed_packet = 1M
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
log_error = "mysql_error.log"
skip-grant-tables
# Change here for bind listening
# bind-address="127.0.0.1"
# bind-address = ::1
En el sistema Linux puede hacer lo siguiente (debe ser similar para otros sistemas operativos)
Compruebe si el proceso de mysql se está ejecutando:
sudo service mysql status
Si está ejecutando, detenga el proceso: (Asegúrese de cerrar todas las herramientas de mysql)
sudo service mysql stop
Si tienes problemas para parar, haz lo siguiente
Búsqueda de proceso: ps aux | grep mysqld
ps aux | grep mysqld
Mata el proceso: kill -9 process_id
Ahora inicie mysql en modo seguro con la concesión de omisión
sudo mysqld_safe --skip-grant-tables &
Tuve el mismo problema que el título de esta pregunta, así que si alguien más busca en esta pregunta y quiere iniciar MySql en el modo ''skip-grant-tables'' en Windows, esto es lo que hice.
Detenga el servicio MySQL a través de las herramientas de Administrador, Servicios.
Modifique el archivo de configuración my.ini (suponiendo rutas predeterminadas)
C:/Program Files/MySQL/MySQL Server 5.5/my.ini
o para la versión de MySQL> = 5.6
C:/ProgramData/MySQL/MySQL Server 5.6/my.ini
En la SECCIÓN DEL SERVIDOR, en [mysqld], agregue la siguiente línea:
skip-grant-tables
para que tengas
# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this
# file.
#
[mysqld]
skip-grant-tables
Comience nuevamente el servicio y debería poder iniciar sesión en su base de datos sin una contraseña.
Utilice el siguiente comando (observe la "d"): mysqld --skip-grant-tables
si está ejecutando en Apple MacBook OSX
entonces:
- Detenga su servidor MySQL (si ya se está ejecutando).
- Encuentra tu archivo de configuración de MySQL,
my.cnf
. (Para mí fue colocado @/Applications/XAMPP/xamppfiles/etc
Solo puede buscar si no puede encontrarlo). - Abra
my.cnf
file en cualquier editor de texto. - Agregue
"skip-grant-tables"
(sin comillas) al final de la sección[mysqld]
y guarde el archivo. - Ahora inicia tu servidor MySQL. Comenzará con la opción
skip-grant-tables
.
¡Haz lo que quieras ahora!
PD: elimine skip-grant-tables
de skip-grant-tables
del archivo my.cnf
una vez que haya terminado con todo lo que quiera hacer ELSE El servidor MySQL siempre se ejecutará sin concesiones de acceso.
si se trata de un cuadro de Windows, lo más simple es detener los servidores, agregar skip-grant-tables al archivo de configuración de mysql y reiniciar el servidor.
una vez que haya solucionado los problemas de permiso, repita lo anterior pero elimine la opción skip-grant-tables.
si no sabe dónde está su archivo de configuración, inicie sesión en mysql envíe SHOW VARIABLES LIKE ''%config%''
y una de las filas devueltas le dirá dónde está su archivo de configuración.
Si usa el servidor mysql 5.6 y tiene problemas con C:/Program Files/MySQL/MySQL Server 5.6/my.ini
:
Deberías ir a C:/ProgramData/MySQL/MySQL Server 5.6/my.ini
.
Debería agregar skip-grant-tables
y luego no necesita una contraseña.
# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this
# file.
#
# server_type=3
[mysqld]
skip-grant-tables
Nota: una vez que haya terminado con su trabajo en skip-grant-tables
, debe restaurar su archivo de C:/ProgramData/MySQL/MySQL Server 5.6/my.ini
.