Cómo instalar y usar mysql
ventanas
instalación
Instale mysql en Windows, haga clic para aprender a descargar
problema
Después de instalar mysql, abra mysql shell
, ingrese mysql -u root -p
can, luego ingrese la contraseña que estableció. Si encuentra la siguiente
solución de interfaz :
Mysql JS> \sql
Mysql SQL> \connect root@localhost
linux
instalación
Toma ubuntu
un ejemplo
sudo apt-get update
sudo apt-get install python3-setuptools
sudo apt-get install python3-dev
sudo python3 setup.py install
sudo apt-get install mysql-server mysql-client
Si se le pide que ingrese una contraseña durante el proceso de instalación, ¡debe recordar esta contraseña!
Luego ingrese el comando
mysql -u root -p
Ingrese la contraseña que estableció para ingresar a la base de datos.
problema
No se le pidió que estableciera una contraseña durante el proceso de instalación.
fatpuffer@ubuntu:~/Downloads$ mysql -uroot -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
- Ingrese sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf en la terminal de ubuntu, ingrese el archivo de configuración y luego agregue skip- a la sección [mysqld] del archivo de configuración La sentencia grant-tables.
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
character-set-server=utf8
collation-server=utf8_general_ci
skip-grant-tables
- La función es permitirle iniciar sesión en mysql sin una contraseña.
- Guardar: wq, salir. Entrada: reiniciar el servicio mysql, reiniciar mysql.
- Ingrese mysql -u root -p en la terminal, y presione Enter cuando se le solicite ingresar la contraseña. Después de ingresar mysql, ejecute las siguientes tres oraciones:
use mysql; 然后敲回车
update user set authentication_string=password("你的密码") where user="root"; 然后敲回车
flush privileges; 然后敲回车
- Luego ingrese quit para salir de mysql.
- Vuelva a ingresar el archivo mysqld.cnf para comentar la declaración skip-grant-tables agregada al principio.
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
character-set-server=utf8
collation-server=utf8_general_ci
# skip-grant-tables
-
Regrese a la terminal e ingrese mysql -uroot -p, y debería poder ingresar a la base de datos.
-
Si todavía se informa un error en este momento, debe volver al paso 3, volver a validar la declaración comentada (es decir, eliminar el símbolo #), volver a ingresar mysql, primero seleccionar una base de datos (usar mysql) y luego ingresar
select user,plugin from user
-
Se puede ver que después de ejecutar select user y plugin from user, la causa del error es porque el campo de raíz del plugin es auth_socket, entonces podemos cambiarlo a la siguiente mysql_native_password. entrar:
update user set authentication_string=password("ln122920"),plugin='mysql_native_password' where user='root'
- Luego presione Enter para ejecutar lo siguiente, y luego ingrese
select user,plugin from user;
- Salir de mysql
\quit
- Reiniciar mysql
service mysql restart
Entonces este problema está completamente resuelto.