问题描述
在安装MySQL的过程中,发现并没有跳出初始密码设置的界面,导致不清楚mysql的账号和密码。
解决方案
- 首先,找到
/etc/mysql/debian.cnf
,查看其中的初始账号。
sudo cat /etc/mysql/debian.cnf
运行截图如下:
- 使用初始账号密码登陆数据库
mysql -u debian-sys-maint -p
//注意!
//这条指令的密码输入是输入第一条指令获得的信息中的 password = ZCt7QB7d8O3rFKQZ 得来。
//请根据自己的实际情况填写!
运行截图如下:
(注意! 这步的密码输入的是 ZCt7QB7d8O3rFKQZ,密码是由第一条指令获得的信息中的password = ZCt7QB7d8O3rFKQZ 得来,每个人不一样,请根据自己的实际情况输入,输入就可以得到以下运行情况)
- 修改mysql密码
use mysql;
// 下面这句命令有点长,请注意。
update mysql.user set authentication_string=password('root') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password";
flush privileges;
quit;
修改过后就可以使用相应的账号以及密码进行数据库的登陆。
- 重启mysql + 命令连接mysql
sudo service mysql restart
mysql -u root -p // 启动后输入已经修改好的密码
至此,使用修改后的账号和密码登录mysql成功~~~
Navicat连接不了ubuntu mysql的解决办法
-
首先sudo ufw status查看防火墙是否开启,状态为inactive说明没有开启防火墙。
-
然后输入netstat -an|grep 3306查看端口启动和占用情况,可以看到绑定为127.0.0.1,这块需要我们修改为0.0.0.0,下面会讲到。
-
首先得修改mysql访问权限,输入mysql -u root -p,回车,然后输入密码xxx进入mysql交互界面。
输入以下命令,指定所有客户端都可以使用root账户访问mysql。
grant all privileges on *.* to 'root'@'%' identified by 'xxx' with grant option;
-
输入flush privileges;刷新权限设置。
-
输入exit;退出mysql命令行。
-
输入cd /etc/mysql/mysql.conf.d进入mysql配置目录。
-
输入vim mysqld.cnf修改mysql配置文件。
-
找到bind-address修改127.0.0.1为0.0.0.0。
-
输入/etc/init.d/mysql restart重启mysql。
-
再次使用navicat连接mysql,终于可以连接上了。
END~~~