linux上连接mysql报错

208次阅读
没有评论

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

找到mysql的安装路径

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

停掉mysql

service mysqld stop;

进入mysql的安装目录

cd /www/server/mysql/bin;

跳过密码登录

./mysqld_safe --skip-grant-tables;

根目录下执行以下命令

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

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

配置远程连接

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文件安装的位置

viEcho
版权声明:本站原创文章,由viEcho2021-04-14发表,共计1139字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
载入中...