service mysqld stop //先停止mysql服务。
然后打开mysql配置文件/etc/my.cnf.在【mysqld】下面添加一行代码:skip-grant-tables。这行代码意思就是跳过跳过授权表,即是可以跳过密码验证直接进入数据库。
service mysqld restart //重启mysql数据库。假如不重启的话,不会生效。
mysql -uroot -p //此时直接回车,既可以进入数据库。
出现mysql>就说明你已经进入到mysql数据库里了。
进数据库后,
use mysql //选择mysql这个库,因为mysql的root密码存放在这个数据库里。
show tables //查看下mysql库里有哪些表,我们需要 *** 作的用户名密码都在user表里。
desc user //查看下user表有哪些字段
更改root密码。
update user set password=password('123456') where user="root" //用户选root,可以随便更改成任意密码,我这里设置的123456,password()是mysql密码加密的一个函数。
flush privileges //刷新下密码,使更改的生效。
exit //退出数据库。
退出数据库,重新登录
mysql -uroot -p //回车输入刚刚更改的密码,就能进去了。
然后再次进入配置文件vi /etc/my.cnf 把skip-grant-tables去掉。
步骤归纳:数据库解密:
步骤一:
安装sqlcipher命令,首先需要安装brew
1. 在终端输入 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ,按Enter键继续
2. 提示“Press RETURN to continue or any other key to abort”时,按Enter键继续
3. 提示”Password”时,输入当前用户开机密码,按Enter键继续
4. 等待安装成功之后在终端在运行 brew install sqlcipher
步骤二:
解密目标数据库xxxxx.db,123456为数据库密码,解密后的数据库为plaintext.db
1. 使用终端切换到数据库的路径下,命令 cd /Users/xxxxxxx 或 cd (拖动数据库所在文件夹到终端),按Enter键继续
2. 切换到数据库所在文件夹之后,输入 sqlcipher xxxxx.db ,按Enter键继续
3. 提示“Enter SQL statements terminated with a ""” 时,
输入 PRAGMA key = '123456'
按Enter键继续
4. 输入
ATTACH DATABASE 'plaintext.db' AS plaintext KEY ''
按Enter键继续
5. 输入
SELECT sqlcipher_export('plaintext')
按Enter键继续
6. 输入
DETACH DATABASE plaintext
7. 生成的plaintext.db 即为解密后的数据库,可直接打开
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)