服务器中MySQL root用户误删、远程登录MySQL的解决办法

2 篇文章 0 订阅

Linux为例

停掉MySQL服务

使用命令:

systemctl stop mysqld.service 

查看MySQL服务命令:

systemctl status mysqld.service

如下表示已经停掉服务
在这里插入图片描述

修改MySQL配置文件

使用命令:

vim /etc/my.cnf

在[mysqld]后面加上skip-grant-tables

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables

按Esc键,再按Ctl + :,输入wq保存

重启MySQL服务

使用命令:

systemctl  start  mysqld.service 
进入MySQL

输入命令:

mysql

在这里插入图片描述

选择mysql数据库

输入命令:

use mysql;

使用 SELECT * FROM user; 查看表的结构。

根据user表的结构设计插入语句

SQL命令:

insert into mysql.user(Host,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Reload_priv,Shutdown_priv,Process_priv,File_priv,Grant_priv,References_priv,Index_priv,Alter_priv,Show_db_priv,Super_priv,Execute_priv,Create_view_priv,Show_view_priv,ssl_cipher,x509_issuer,x509_subject) values ('%','root',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y','0x','0x','0x');

字段: plugin 的值默认为 mysql_native_password(加密方法),但是使用本地Navicat登录时,可能出现错误。原因是Navicat旧版本的加密方法为caching_sha2_password。
所有,要求远程登录MySQL的,需要注意一下。

设置你的root密码:

ALTER USER `app`@`%` IDENTIFIED BY '123';

注意:如果单引号不对,一定要复制上面这句再改
如果出现:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

使用命令:update user set authentication_string=null where User="root";
再将skip-grant-tables去掉,重启MySQL后再使用修改密码的命令

输入命令 exit退出MySQL
停掉MySQL服务,并将skip-grant-tables去掉,重启MySQL服务

使用root 登录
Linux中登录

使用命令:

mysql -u root -p 密码
远程登录MySQL

工具:Navicat
服务器开放3306端口

新建Mysql连接

第一种连接方式:用IP或域名直连
在这里插入图片描述
连接名:自定义
主机名或IP地址:你的服务器域名或外网IP地址
用户名:数据库root
密码:你自己的设置的数据库密码

然后连接测试连接,成功之后确定就行了。
连接测试不过的可以看我下一篇文章。

第二种方式:用SSH连接
在这里插入图片描述

SSH协议,这个连接和我们用XShell软件来远程控制Linux服务器的连接协议一样。

IP地址:外网IP
用户名:可以是服务器Root,也可以是你亲建的服务器用户名
密码:服务器密码

然后我们再点击常规选项,也就是第一种连接方式。
在这里插入图片描述
这里只要把IP地址改成:localhost,因为你们已经登录到服务器了,就相当于在服务器中登录MySQL时的连接。

连接测试不过的可以看我下一篇文章。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值