mysql5.5升级报错,PHPstudy升级mysql5.7方法:亲测可用

mysql5.7比之前的一个重大的区别就是在datetime的这个默认值上5.7的可以设置成current_timestamp,而之前的mysql(5.5)版本会报错,所以工作需要,得升级mysql

b238da2f9134

首先:关闭phpstudy,任务管理器里面关闭mysql进程

1.在mysql官网下载压缩包,我选取的是最新版的5.7.17连接:https://dev.mysql.com/downloads/mysql/

2.趁着下载的时间可以把之前的数据库数据备份下,我把 phpStudy 中 MySQL 文件夹可以重命名下,备用

3.把下载的 MySQL 压缩文件解压至 phpStudy 下的 MySQL目录,复制my-default.ini ,重命名为 my.ini。

打开 my.ini,找到 #basedir 处编辑:(我的安装在了C盘,路径根据phpstudy的安装路径选择)

basedir = C:\phpStudy7\MySQL

datadir = C:\phpStudy7\MySQL\data

4.下面执行在 cmd 下进入 MySQL 的 bin 目录(我的是 C:\phpStudy7\MySQL\bin),执行如下图:

(初始化数据库:mysqld --initialize)

b238da2f9134

补充:如果是timestamp的错误,在my.ini中添加

[mysqld]

explicit_defaults_for_timestamp=true

如果有[ERROR]

mysqld: Error while setting value

''ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,'

to 'sql_mode'

在my.ini中添加[mysqld]

#sql_mode='NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,

ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES'

这一行前面没有井号:sql_mode='NO_AUTO_CREATE_USER'

(E:\phpstudy\MySQL\bin>mysqld --initialize --user=mysql --console)

如果是错误:initialize specified but the data directory has files in it.aborting

管理员身份运行CMD。这个在C盘systerm32文件下可以找到,或者百度管理员身份运行cmd

然后cd 至mysql下的bin,运行mysql install,然后就成功了

执行完后,重启phpstudy

打开 my.ini,找到 [mysqld],在下面添加:

skip-grant-tables(此参数用于忘记mysql密码)并保存

此时使用 root 账号,密码处按回车即可登录。

6.如果想增加密码,在无密码的情况下进去mysql命令行,找到mysql数据库的user表:修改密码:

update user set authentication_string='新密码' where user='root' ;

7.此时仍然用root密码仍登录不进去的话,在phpstudy修改密码,原来的密码为空

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值