问题由来:
在把数据库导入到本地库时,数据库出现报错 Error : Invalid ON UPDATE clause for 'update_time' column
查了下度娘说 这是因为mysql版本低导致的,只有5.5的会有这个问题,5.6不会有这个问题 。。MySQL 5.5 每个表只允许一个列的默认值根据时间戳生成时间
好吧,本人确实使用是5.5版本。
可能导致的原因还有: MySQL支持全文索引的只有5.6以上
解决问题:
1.备份数据库 和 备份原来 phpStudy 中 MySQL 安装目录(养成修改前做备份 和 数据定期做备份的好习惯)
2.从mysql官网下载windows的免安装版。
最新版下载地址是:https://dev.mysql.com/downloads/mysql/
3.重命名phpstudy中的MySQL文件夹为MySQL5.5,相当于备份MySQL。将刚下下来的mysql-5.7.18-winx64.zip解压至phpstudy目录中,并重命名为MySQL 参考
4.需要说明的是,mysql5.7解压之后,目录中是没有my.ini配置文件和data文件夹的。需要我们自定义一个my.ini文件。【data 文件夹会自动生成】
5.我这边的my.ini 是在网上找的
[client]
port=3306
default-character-set=utf8
[mysqld]
# 设置为自己MYSQL的安装目录
basedir="E:/phpStudy/PHPTutorial/MySQL/"
# 设置为MYSQL的数据目录
datadir="E:/phpStudy/PHPTutorial/MySQL/data/"
port=3306
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
#开启查询缓存
explicit_defaults_for_timestamp=true
skip-grant-tables
6.以管理员身份运行命令提示符,进入D:/phpStudy/MySQL/bin,执行mysqld --initialize命令
7.至此,你打开phpstudy就已经可以正常启动mysql了。
不过,mysq的密码已经不是默认的root了。
8.打开MySQL目录下的data文件夹,就是刚刚初始化时候自动生成的data文件夹。里面有个.err的文件,文件名默认是你的计算机名,用sublime text或者记事本等文本编辑器打开。
前几行都是一些正常的警告信息。最后一行是关键,也写的很清楚了,密码就在最后。这个密码不能直接使用
9.修改密码。在命令行登录以后,运行SET PASSWORD=PASSWORD("new_password")修改就可以了。
现在查看下版本
select version();
PS:在第7部 到 第8部 之间有个小插曲 重新启动phpstudy的时候 Apache正常,但是mysql启动不起来。 但是在cmd中 直接 net start mysql 就可以启动了
原因是 服务冲突了!!
打开服务
可以看到phpStudy为我们注册了一个MySQLa服务,而我们用mysql -install命令安装Mysql的时候注册 了一个MySQL所以问题来了,两者冲突了。解决办法 很简单,打开CMD命令 输入 sc delete MySQL
删除这个服务就可以正常启动phpstudy了 。