mysql8.0版本skip-grant-tables出现的新问题

MySQL 初始化 mysqld --initialize 的时候会有密码,就这个样子,

可是毕竟总有人跟我一样,不熟悉安装过程,没有注意这一密码这一项,导致你现在不知道密码的尴尬处境,或者说你是正常用了某一天脑子短路忘了密码,

那么网上查到很多方法会告诉你,往 ini 里配置 skip-grant-tables,确实是正确的方法,

不过你会陷入另一个坑,你的 MySQL 服务一启动就会立刻自动关闭,

Can‘t connect to MySQL server on xxx (10061)

这就尴尬了,想跳过密码验证又遇到服务秒死,

我们从data文件的日志文件中看到有这样的 error

[ERROR][MY-010131] [Server] TCP/IP, –shared-memory, or –named-pipe should be configured on NT OS
[ERROR][MY-010119] [Server] Aborting
[Warning][MY-011311] [Server] Plugin mysqlx reported: ‘All I/O interfaces are disabled, X Protocol won’t be accessible’

就在这里我卡了半天,终于找到了正确的办法,我也分享一下,这里是她的地址:https://blog.csdn.net/sinat_38003757/article/details/82683747

原来是因为 8.0 ,就是因为我们用的是 mysql8.0 以上版本,版本新问题,果然我在 ini 里加上了 shared-memory 之后就能用了(现在再看error内容好像人家说的挺清楚)。

但是新的问题又来了(如果没有可以忽略,反正我是遇到了),当我遇到了一个问题(忘了是什么了),反正就是要初始化 即 mysqld --initialize 的时候,又出现了问题,从日志文件里,来看一下

[ERROR] --initialize specified but the data directory has files in it. Aborting.
 [ERROR] Aborting

问题的原因是你的路径中已经有一个 data 文件,所以把 data 直接删了就行。接下来就顺利了,记得 copy 一下密码哦。

感叹一下,一代版本一一代坑,最近把好几个东西更新了,碰了不少坑,虽然有收获但是好像没这个必要。以后如果不是确实有必要,还是少走新路子,这些个坑坑洼洼还是等别人都烫平了再来吧,不然太浪费时间,没有必要。

原文地址:https://www.cnblogs.com/kzong/p/10591379.html

时间: 2024-07-31 15:40:50

mysql8.0版本skip-grant-tables出现的新问题的相关文章

mysql8.0版本下命令行mysqld –skip-grant-tables 失效,无法登陆的问题

1.管理员权限登陆cmd,不会使用管理员登陆的请搜索cmd,搜索结果右键. 2.命令行输入:net stop mysql;然后提示.服务停止中 --> 服务已停止,如出现其他错误请百度. 这只是一个示例,请在服务中查看服务具体名称,比如我的就是mysql57. 服务不会打开的请 win+R --> services.msc --> 回车,找到mysql开头的服务名. 3.由于mysqld –skip-grant-tables实测在mysql8.0中已失效,现使用mysqld --cons

node.js 连接本地mysql8.0版本出现的问题 window系统

1.cmd管理员进入mysql文件夹的bin目录 2.键入命令行 mysql -u -root -p 3.输入密码 4. alter USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRENEVER; (必填) 5.alter USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';(修改自己的密码) 6.FLUSH PRIVI

Navicat连接MySQL8.0版本时 建议升级连接客户端这个提示怎么办

开始->mysql 8.0 command line client ->执行下面的命令//开启mysql服务mysql.server start//进入mysqlmysql -u root -p//修改密码方案3(对)USE mysql; ALTER USER 'root'@'localhost'IDENTIFIED WITH mysql_native_password BY '密码';//重启FLUSH PRIVILEGES; 可能在修改密码那条指令会报error错误  如果报错了 多次重复

MySQL8.0版本连接问题(解决驱动时区报错)

jdbc.properties jdbc.driverClass=com.mysql.cj.jdbc.Driver jdbc.connectionURL=jdbc:mysql://127.0.0.1:3306/myshop?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=Asia/Shanghai&useSSL=false jdbc.use

mysql8.0版本忘记root密码

1.先关掉系统服务 net stop mysql 2.进入mysql安装目录的bin文件中,以管理员的方式运行cmd,然后输入如下命令,实现无密码登陆 mysqld --console --skip-grant-tables --shared-memory 3.以空密码登入系统 mysql.exe -u root 4.重置密码 UPDATE mysql.user SET authentication_string='root' WHERE user='root' and host='localh

连接mysql8.0版本出现1251--Client does not support authentication protocol requested by server的解决

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码 FLUSH PRIVILEGES; #刷新权限 原文地址:https://www.cnblogs.com/yxfcnbg/p/1054499

mysql8.0版本忘记密码修改密码

最近也不知道是懒了还是老了,几天没碰数据库竟然把密码忘了,这就好比吃饭的家伙锁在箱子里,那还怎么吃饭?所以我得把mysql密码相关的都整理一下,免得还得招人开锁,那实在是太尴尬了. 实验目的:忘记用户密码,修改用户密码 在安装mysql的时候有一个跳过密码的步骤,先试一试行不行 vim /etc/my.cnf 在[mysqld]下面加上一句 skip-grant-tables 重启mysql服务 systemctl restart mysqld.service 通过无密码方式登录mysql服务

Centos7下Mysql8.0安装手册 以及 一些坑点总结

MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 一.  Mysql8.0版本相比之前版本的一些特性 1) 默认编码utf8默认编码使用utf8mb4, utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符历史,MySQL数据库的 "utf8"并不是真正概念里的 UTF-8.MySQL中的"utf8"编码只支持最大3字节每字符.真正的大家正在使用

MySQL8.0设置远程访问权限

1.登录MySQL mysql -u root -p 1 输入您的密码 2.选择 mysql 数据库 use mysql; 1 因为 mysql 数据库中存储了用户信息的 user 表. 3.在 mysql 数据库的 user 表中查看当前 root 用户的相关信息 select host, user, authentication_string, plugin from user; 1 执行完上面的命令后会显示一个表格 查看表格中 root 用户的 host,默认应该显示的 localhost