1.mysql无法初始化:
mysqld -initialize提是失败,因之前有安装过,后来删除,现在是重新安装。
解决方法:
1) 命令行执行: mysqld --initialize --user=mysql --console
2) 先执行以上命令, 生成库. 注意有个临时密码, 要记下来.
3) 然后启动服务.
4) 然后再命令行: mysql -uroot -p
5) 输入临时密码登录
6) 修改登录密码
2.忘记登录密码:
由于记不住临时密码,搞到一直登录不了。(最后发现其实是漏了一个符号,汗..)
解决方法:
1) 在mysql根目录下,有一个my-default.ini,复制一个,重命名为my.ini
2) 打开my.ini编辑,在[mysqld]下一行,添加:skip-grant-tables
注:这是开始无需密码登录,修改密码后,注释掉。
3) 重启mysql服务器。(cmd:net stop mysql,然后,net start mysql)
注:以上步骤可以简化命令,cmd: mysqld_safe --skip-grant-tables
但要先关闭mysql才执行。
4) cmd: mysql -uroot -p
5) 不用输入密码直接回车
6) cmd: set password for 'root'@'localhost' = password('root');(最后的 root 为你的想要修改成的密码)
6.2) 也可以进入db修改,cmd: update mysql.user set authentication_string = password('root') where user = 'root';
注:特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了
而是将加密后的用户密码存储于authentication_string字段
7) 刷新数据:cmd: flush privileges;