mysql 5.7.*之后的密码真是难搞,弄个半个多小时才弄好 做个记录
在mysql下载完之后,解压到盘中 比如E:\mysql5714
在E:\mysql5714目录下建立my.ini
里面的内容为:
[client] port=3306 default-character-set=utf8 [mysqld] port=3306 character_set_server=utf8 #解压目录 basedir=E:\mysql5714 #解压目录下data目录 datadir=E:\mysql5714\data sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
保存
然后安装 在windows中 用管理员权限运行cmd,在win8 win10中 直接使用微标键+x 就有了
然后进入mysql目录 也就是E:\mysql5714\bin
执行
mysqld --initialize
为啥要运行这个呢 因为在刚配置文件中设置了data目录,但是这个目录并不存在,所以要初始化一下,他就会生成data目录,很多人没有初始化 直接安装,在后面就会启动不了。
之后
mysqld install
了
然后
net start mysql
就ok了。
但是之后问题又来了
密码不是为空!!
那就来改密码吧
在配置文件中的[mysqld]中加入一行
skip-grant-tables
保存,重启mysql服务,这个时候不用密码就能进入了
还是在刚那个cmd中使用
mysql -uroot
直接进入mysql界面
use mysql
选择mysql表
update user set authentication_string=password("123456") where user="root";
运行,密码就更改为了123456了,看到了吧,mysql5.7之后密码是存在了authentication_string这个字段了,没有了password字段了,所以老版本的那个
update user set password=password("123456") where user="root";
就不行了
之后
flush privileges; quit;
这一步就完成了,然后删除掉刚加入配置文件中的
skip-grant-tables
之后重启mysql服务,就可以用新密码登陆了,
至此,mysql5.7.14 修改密码就完成了
还有 新手注意在输入命令行的时候 后面的那个 ; 别掉了!!!!