mysql本地连接报错

mysql本地连接报错

viEcho Lv5

最近阿里云过期了,续费太贵就重新买了一个,买完想着老是自己手动装环境啥的太麻烦了,要不也搞个宝塔面板吧,这样后面安装啥的不都很方便了吗?说搞就搞,尼玛才装好试试数据库能不能连接上,沃日并不能;在宝塔中修改了配置文件中的密码,重启后还是不能连上;一直报这个错:”Access denied for user ‘root’@‘localhost’(using password: YES)” ,那怎么办继续解决呗。然后又鼓捣半天总算是搞定了;

找到mysql的安装路径

宝塔安装的mysql 不再是use/etc下了哈,不知道怎么找的;可以看宝塔面板-已安装-找到mysql-设置-存储位置

停掉mysql

1
service mysqld stop;

进入mysql的安装目录

1
cd /www/server/mysql/bin;

跳过密码登录

1
./mysqld_safe --skip-grant-tables;

根目录下执行以下命令

1
2
3
4
5
6
mysql -u root;
use mysql;
update user set authentication_string=password('xxx') where user='root';
# 或者
update user set password=password( 'xxx' ) where User= "root" and Host= "localhost";
FLUSH PRIVILEGES;

重启mysql

1
2
3
service mysqld start;
mysql -u root -p;
#输入刚修改的密码,验证下是否可以连接

配置远程连接

1
2
3
4
5
6
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit #退出
systemctl restart mysqld #重启mysql
firewall-cmd --zone=public --add-port=3306/tcp --permanent #开放3306端口
systemctl restart firewalld.service # 重启防火墙

发现可以登录了,并且本地navicat也可以连上了!

注:我用的mysql是5.8版本,高版本的命令和5.6的会有些差别;
查看mysql原始密码grep "password" /var/log/mysqld.log
查看端口占用情况netstat -ntulp |grep 80
根据关键字查询某个文件的安装位置:find -name '*.*' | xargs grep 'php'; 查找php文件安装的位置

  • Title: mysql本地连接报错
  • Author: viEcho
  • Created at : 2021-04-23 19:55:09
  • Updated at : 2024-01-18 14:45:51
  • Link: https://viecho.github.io/2021/0423/mysql-connect-error.html
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments