跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

MySQL数据库的root口令恢复方法总结

- 方法一 1. 下载MySQL源码分发包,不用区分操作系统,我们需要的东西是一样的; 2. 重命名自己的mysql的data目录下的mysql文件夹为oldmysql; 3. 将源码包中data目录下的mysql目录复制到你的mysql的data目录下; 4. 重新启动mysql,现在mysql的授权关系同全MySQL(Linux)

MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。

下载-方法一1. 下载MySQL源码分发包,不用区分操作系统,我们需要的东西是一样的;

2. 重命名自己的mysql的data目录下的mysql文件夹为oldmysql;

3. 将源码包中data目录下的mysql目录复制到你的mysql的data目录下;

4. 重新启动mysql,现在mysql的授权关系同全新安装的一样,,空密码登陆,然后自行调整授权;

5. 打开oldmysql这个库检查到底出现了什么问题 ;

6. 如果有备份对系统中原有的数据库进行完整性检测,以免被人修改。

方法二1. 向mysqld server发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。

kill `cat /mysql-data-directory/hostname.pid`你必须是Linux的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作;

killall -TERM mysqld 2. 使用`--skip-grant-tables’ 参数来启动 mysqld;

shell>mysqld_safe --skip-grant-tables &/ bin/safe_mysqld --skip-grant-tables &3. 使用`mysql -h hostname mysql’命令登录到mysqld server ,用grant命令改变口令。你也可以这样做:`mysqladmin -h hostname -u user password ’new password’’其实也可以用use mysql; update user set password =password(’yourpass’) where user=’root’来做到;

shell>mysqladmin -u root flush-privileges password "newpassword">use mysql>update user set password=password("new_pass") where user="root";>flush privileges;

4. 载入权限表:

`mysqladmin -h hostname flush-privileges’或者使用SQL命令`FLUSH PRIVILEGES’当然,在这里,你也可以重启mysqld。

相关文章