今天,刚装了Ubuntu18.04,随后又重新安装了MySQL5.7数据库,刚开始使用
sudo service mysql start
尝试启动数据库服务,随后使用命令
mysql -uroot -p
提示我要输入密码,心里一群草泥马在四处翻腾,纳尼?我根本没设密码啊,尝试各种默认密码都无效。然后就寻求解决的办法,随后一顿捣鼓,花了我一上午的时间终于解决了。好了,废话不多说,奉上我的膝盖给各位大佬:
具体原因是:5.7版本,官方在你安装时软件时,会自动给你生成一个随机的用户名和密码,只有使用这个密码,你才能进入数据库,官方既然这么做一定是考虑到数据的安全性,这里不予置评。
1.查看MySQL默认账号密码
终端输入
sudo subl /etc/mysql/debian.cnf
2.这时你会看到,如下文本
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = 3xxhEMPQXZfUi7IZ
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = xxxxxxxxxxxxx
socket = /var/run/mysqld/mysqld.sock
傻子都能看到用户名和密码就在那里,我却捣鼓了半天,查找了MySQL目录下的所文档,实在惭愧,希望各位大佬不要迷路
3.进入数据库
mysql -udebian-sys-maint -p
password:
然后输入官方随机生成的密码
4.进入mysql数据库
mysql>use mysql;
mysql>update user set authentication_string=PASSWORD("自己设置的密码") where user='root'; //mysql数据库中的user表中的password字段为authentication_string
mysql>update user set plugin="mysql_native_password";
mysql>flush privileges;
mysql>quit
5.重启数据库,重新登入
/etc/init.d/mysql restart
mysql -uroot -p自己设置的密码
完美收官,各位大佬,我的表演到此结束,小生不才,让你们看笑了。再次献上的铁打的膝盖