问题由来:

   在把数据库导入到本地库时,数据库出现报错    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了 。

    

     

posted on 2018-09-26 16:05  cx小橙  阅读(149)  评论(0编辑  收藏  举报