本文摘自PHP中文网,作者小云云,侵删。
作为程序员,MySQL必定时我们会运用到的东西,而且很重要,可是有时候在工作中MySQL数据库难免会发生些问题,那么我们怎么去处理呢?下面我们就谈谈平常工作中会遇到的MySQL常见的一些问题及解决方案。
一、 忘记 MySQL 的 root 密码
1. 登录到数据库所在的服务器,手工 kill 掉 mysql 进程。
(1) 登录到数据库所在的服务器,手工 kill 掉 MySQL 进程:
root@bogon:/data/mysql# kill `cat ./mysql.pid`
其中,mysql.pid 指的是 MySQL 数据目录下的 pid 文件,它记录了 MySQL 服务的进程号。
(2) 使用 --skip-grant-tables 选项重启 MySQL 服务:
zj@bogon:/data/mysql$ sudo /usr/local/mysql/bin/mysqld --skip-grant-tables --user=root &
--skip-grant-tables 选项意思是启动 MySQL 服务时跳过权限表认证。启动后,连接到 MySQL 的 root 将不需要口令。
(3) 用空密码的 root 用户连接到 mysql ,并且更改 root 口令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
由于使用了 --skip-grant-tables 选项启动,使用 “set password” 命令更改密码失败,直接更新 user 表的 authentication_string(测试版本为5.7.18,有的版本密码字段是 ‘password’) 字段后,更改密码成功。刷新权限表,使权限认证重新生效。重新用 root 登录时,就可以使用刚刚修改后的口令了。
相关阅读 >>
navicat for mysql 16怎么注册?navicat16全系列最新破解教程(附注册机)
更多相关阅读请进入《mysql》频道 >>
数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。