mysql的未提示输入密码

mysql的安装使用方法

windows

安装

windows安装mysql,点击了解下载方法

问题

安装好mysql后,打开mysql shell ,输入 mysql -u root -p 即可,之后输入你自己设置的密码。如果遇到下面界面在这里插入图片描述
解决方法:

	Mysql JS>  \sql
	Mysql SQL>  \connect root@localhost

linux

安装

ubuntu为例

	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

如果安装过程中过程中会出现叫你输入密码,这个密码一定要记住!
然后输入一下命令

	mysql -u root -p

输入你设置的密码,即可进入数据库。

问题

安装过程中没有让你设置密码。

fatpuffer@ubuntu:~/Downloads$ mysql -uroot -p
Enter password: 
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

  1. 在ubuntu的terminal(也即终端)上输入sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf,进入到这个配置文件,然后在这个配置文件中的[mysqld]这一块中加入skip-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

  • 作用就是让你可以不用密码登录进去mysql。
  • 保存:wq,退出。输入:service mysql restart,重新启动mysql。
  1. 在终端上输入mysql -u root -p,遇见输入密码的提示直接回车即可,进入mysql后,分别执行下面三句话:
	use mysql;   然后敲回车
	update user set authentication_string=password("你的密码") where user="root";  然后敲回车
	flush privileges;  然后敲回车

  • 然后输入quit,退出mysql。
  1. 重新进入到mysqld.cnf文件中去把刚开始加的skip-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

  • 再返回终端输入mysql -uroot -p,应该就可以进入数据库了。

  • 如果此时还是报出错误,那么就需要返回step3中,把注释掉的那条语句重新生效(就是删除#符号),重新进入mysql中,先选择一个数据库(use mysql),然后输入select user,plugin from user

  • 从中可以看到在执行了select user,plugin from user后,错误原因是因为plugin root的字段是auth_socket,那我们改掉它为下面的mysql_native_password就行了。输入:

update user set authentication_string=password("ln122920"),plugin='mysql_native_password' where user='root'
  • 然后回车执行以下,再输入
	 select user,plugin from user;
  • 退出mysql
	\quit
  • 重启mysql
	service mysql restart

那么这个问题就完全解决了。

猜你喜欢

转载自blog.csdn.net/m0_43456002/article/details/105981336
今日推荐