phpStudy下替换mysql5.7.16

phpStudy中的mysql版本是5.5,而mysql5.5在执行`createTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '数据插入时间'时(也就是默认值为CURRENT_TIMESTAMP),mysql会报错。解决办法是将phpStudy中mysql的版本替换为5.6及以上。

安装完phpStudy后将MySQL下的所有文件删除,解压mysql5.7.16的版本。安装过程如下:

#特别重要
1.修改my-default.ini

在其中修改或添加配置: 

[mysqld] 

basedir=E:\WAMP\MySql(mysql所在目录) 

datadir=E:\WAMP\MySql\data (mysql所在目录\data)

2.以管理员身份运行cmd(win10右键左下角开始按钮选择以管理员身份运行cmd即可)

以管理员身份运行cmd(一定要用管理员身份运行,不然权限不够),

输入:cd C:\Program Files\MySQL\MySQL Server 5.6\bin 进入mysql的bin文件夹(不管有没有配置过环境变量,也要进入bin文件夹,否则之后启动服务仍然会报错误2)

输入mysqld -install(如果不用管理员身份运行,将会因为权限不够而出现错误:Install/Remove of the Service Denied!) 

安装成功

3.运行mysqld  --initialize(若没有init则不存在data目录,自然无法启动成功)

4.安装成功后就要启动服务了,继续在cmd中输入:net start mysql,服务启动成功!

服务启动成功之后,就可以登录了,输入mysql -u root -p(此时你并不知道密码是什么,请查看追加内容),登录成功!

 

追加内容:

在安装mysql5.7版本时,经常会遇到mysql -u root -p直接回车登陆不上的情况,原因在于5.7版本在安装时自动给了一个随机密码,
坑爹的是在init步骤的时候不像linux系统会给出命令行提示,需要手动在mysql目录下搜索*.err,以文本形式打开才能看到如下内容:
"A temporary password is generated for root@localhost: >mso<k70mrWe"


每个人的密码都不一样,所以直接搜素这句话找不到,这句话中root@localhost:后面的是密码
root@localhost:是固定的,所以搜索root@localhost:能找到类似的语句

修改数据库密码

SET PASSWORD = PASSWORD('root');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;

 

在安装的过程中,*.err文件下并没有找到。如果出现这种情况,则用如下解决办法:

1、以管理员身份运行cmd,输入net stop mysql

停止MySQL服务

2、打开一个cmd窗口输入mysqld --skip-grant-tables,注意这个cmd命令窗口不要关闭

3、

重新打开一个cmd窗口,运行下面命令

C:\Users\Administrator>mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.7.19 MySQL Community Server (GPL)

 

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

mysql> use mysql

Database changed

mysql> update user set authentication_string=password('123456') where user='root';

Query OK, 0 rows affected, 1 warning (0.06 sec)

Rows matched: 1  Changed: 0  Warnings: 1

 

mysql>

将mysql的root密码重置为123456

4、继续以管理员身份运行cmd,输入net start mysql

启动MySQL服务

5、以重置后的root密码登录测试,如下图mysql -uroot -p123456

 

再次执行`createTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '数据插入时间',这时就不会报错了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小骨格子屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值