时间:2023-10-27来源:系统城装机大师作者:佚名
1、找到mysql的my.ini文件,在mysqld关键字下面添加skip-grant-tables,如下图所示:
该命令作用是跳过授权表,也就是输入任意字符账号密码都可以进入mysql看到所有数据表。
当忘记账号密码时可以使用改命令修改密码,但是要随用随关,重启mysql,不然服务器上会有很大的风险。
2、重启MySQL服务
3、在终端中输入mysql -u root mysql
,连接数据库
4、修改密码
在终端进入中输入:
1 | update user set password = password ( "123456" ) where user = "root" ; |
如果有报错“ERROR 1054 (42S22): Unknown column 'password' in 'field list'”
那么就输入:update user set authentication_string=password('123456') where user='root';
输入exit退出,再重新连接数据,即可连接成功。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
进入mysql数据库 $mysql -u root -p >use mysql; 1.> select host, user from user ; //查看用户 MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost只能本机访问; 其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问。 2.设置host为% > update user set host= '%' where user = 'root' ; %为任意用户都有权限连接,localhost为只能本机连接,配置完host为%这一步就已经能外网访问了 3.授权用户具体权限 > grant all privileges on *.* to 'root' @ '%' identified by '123456' with grant option ; >flush privileges ;//刷新权限 注意: 一定要重启mysql: # systemctl restart mysqld |
qiqushuge_comy用户有两个,针对不同的针对不同的主机来控制用户的访问的。授权的时候grant all privileges on *.* to 'qiqushuge_com'@'localhost' identified by '123456' with grant option;
可以使用GRANT给用户添加权限,权限会自动叠加,不会覆盖之前授予的权限,比如你先给用户添加一个SELECT权限,后来又给用户添加了一个INSERT权限,那么该用户就同时拥有了SELECT和INSERT权限。
查看数据库授权的方法:
1 | SHOW GRANTS FOR 'root' @ 'localhost' ; |
在宝塔安全里添加端口规则,放行数据库默认端口3306
在服务器阿里云、腾讯云等放行端口3306
到此这篇关于mysql数据库连接失败常见问题的文章就介绍到这了
2023-10-30
windows上的mysql服务突然消失提示10061 Unkonwn error问题及解决方案2023-10-30
MySQL非常重要的日志bin log详解2023-10-30
详解MySQL事务日志redo log一、单表查询 1、排序 2、聚合函数 3、分组 4、limit 二、SQL约束 1、主键约束 2、非空约束 3、唯一约束 4、外键约束 5、默认值 三、多表查询 1、内连接 1)隐式内连接: 2)显式内连接: 2、外连接 1)左外连接 2)右外连接 四...
2023-10-30
Mysql删除表重复数据 表里存在唯一主键 没有主键时删除重复数据 Mysql删除表中重复数据并保留一条 准备一张表 用的是mysql8 大家自行更改 创建表并添加四条相同的数据...
2023-10-30