Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2268478
  • 博文数量: 293
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2170
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-31 14:30
个人简介

自己慢慢积累。

文章分类

全部博文(293)

分类: Mysql/postgreSQL

2015-10-19 17:15:49

一日,同事忘记了root 密码,让我帮忙修改。
   我在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 库的权限
   接下来就好办了
   

点击(此处)折叠或打开

  1. mysql> use mysql
  2. Database changed
  3. mysql> update user set password=password("zjx") where user="root";
  4. Query OK, 4 rows affected (0.04 sec)
  5. Rows matched: 4 Changed: 4 Warnings: 0

  6. mysql> flush privileges;
  7. Query OK, 0 rows affected (0.00 sec)

  8. mysql> quit

    总结:
   如果你用的是TOKUDB 官方版的MYSQL,那么忘记了root 密码,请使用 skip-grant-tables=ture 参数
阅读(1069) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~