linux部署的mysql无法使用root登录

本文讲述了作者在将MySQL部署到云服务器后遇到的500错误,主要问题在于项目无法连接远程MySQL。通过一系列步骤,包括创建和赋予root用户权限,解决连接问题并确保远程访问权限,最终成功修复了问题。
摘要由CSDN通过智能技术生成

### 在部署项目时,想到可以用云服务器来配置公共环境,这样就可以在多处同时使用这个数据库

说干就干,于是,把MySQL安装在了云服务器上

在运行项目时发现,项目500错误,从源头数据库进行分析,一眼就发现,是项目连不上远程服务器的MySQL了,赶紧记录一下解决的过程

### 正式开始解决

进入mysql

use mysql; 

首先,网上一搜就是去给用户赋值

我复制上去就是密码不存在:

我都以为是我把列名打错了,结果一搜,root用户压根就不存在

那能咋办,添加咯

insert into user(User,authentication_string,ssl_cipher,x509_issuer,x509_subject) values('root','','','','');

 update user set Host='%',select_priv='y', insert_priv='y',update_priv='y',Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y' where user='root';commit;

(分别新增用户和权限)

这时候再去表里面就能看到user了

我这里是直接把host给赋值了 % 表示所有主机都能够直接连接(使用navicat等远程连接数据库的软件都能够直接连接)

如果不是 % 而是localhost的话,就只能让本机localhost连接,我这个MySQL是放在云服务器上的,因此就直接赋值成 % 了

当然,如果你已经发现有了root用户,可以选择先删掉,再去重新增加用户和权限

drop user 'root'@'localhost';

create user 'root'@'localhost' identified by '123456';

最后赋予所有权限以及远程连接的权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; #赋予所有库所有表操作权限
flush privileges;

刷新权限之后,退出重启MySQL就可以连上了!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值