我在my.cnf 里面加上 --skip-grant-tables
然后启动mysql 失败,日志是 不支持tokudb 引擎。这个错误很常见,也很头疼。通常跟my.cnf参数设置有关
莫非tokudb 不支持 skip-grant-tables ? 当时有现场支持的工作,暂时没在研究。
后来有了闲时间,自己用虚拟机试了下,果然是不支持 --skip-grant-tables,然后查看mysqld的参数,发现 skip-grant-tables false
莫非tokudb应该写成 skip-grant-tables=ture ?
于是就这么修改了my.cnf
启动Mysql ,启动成功!
mysql -u root 试试无密码登陆
结果是报错
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
尝试几次后,发现用 mysql -u root -h 127.0.0.1 可以登录,且有使用mysql 库的权限
接下来就好办了
总结:接下来就好办了
点击(此处)折叠或打开
- mysql> use mysql
- Database changed
- mysql> update user set password=password("zjx") where user="root";
- Query OK, 4 rows affected (0.04 sec)
- Rows matched: 4 Changed: 4 Warnings: 0
- mysql> flush privileges;
- Query OK, 0 rows affected (0.00 sec)
- mysql> quit
如果你用的是TOKUDB 官方版的MYSQL,那么忘记了root 密码,请使用 skip-grant-tables=ture 参数