zoukankan      html  css  js  c++  java
  • windows 下phpstudy 升级mysql版本5.7

    今天在导入sql文件的时候遇到了sql执行错误。最后找到原因是因为mysql版本过低,导致出错

    原因:在执行sql的时候出现了两次CURRENT_TIMESTAMP ,最后得知在5.7版本之前都是不支持同时出现两个CURRENT_TIMESTAMP

    所以导致执行sql出错。下面是将mysql升级到5.7:

    首先到官方区下载所需要的版本5.7

    官方网址:https://dev.mysql.com/downloads/file/?id=467269

    一、备份原来 phpStudy 中 MySQL 安装目录

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

    打开 my.ini,找到 #basedir 处编辑:

    basedir="C:/phpStudy/PHPTutorial/MySQL/" 
    datadir="C:/phpStudy/PHPTutorial/MySQL/data/"

    以上两个是我对应的文件目录

    三、在 cmd 下进入 MySQL 的 bin 目录(我的是 D:/phpStudy/MySQL/bin),执行:

    mysqld --initialize   初始化数据库

    四、安装服务

    mysqld -install

    五、安装成功后重启服务net start MySQL,这个时候就可以查看自己的版本了

    六、在此时登入 MySQL 报错:

    Enter password: ****
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

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

    skip-grant-tables      声明一下 skip-grant-tables  这行代码我见有人发布的是 要注释掉,但是我这边在使用laravel项目的时候注释掉就报错。大家可以试试这里两种情况

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

    八、修改密码

    mysql>update mysql.user set authentication_string=password('new_password') where user='root' and Host ='localhost'
    mysql> ALTER USER USER() IDENTIFIED BY 'news_password';
     
    刷新完在刷新一次权限:
    FLUSH PRIVILEGES;
     

    重新登录。

    此时查看 mySQL 版本:

    最后在给大家说一个问题。5.7版本是装上了 但是phpstudy启动不了mysql,但是可以通过服务来进行启动。 只需要在执行一个

    sc delete mysql 命令就可以了 因为你会看到服务里面有个mysql跟mysqla两个服务 ,两者发生了冲突所以就起不来了  

    以上就是我今天所遇到的问题            希望大家多多交流

  • 相关阅读:
    从string类的实现看C++类的四大函数 [写的很好]
    毕业5年决定你的命运
    git push 原因以及问题!
    poj 1195 Mobile phones 夜
    poj 2886 Who Gets the Most Candies 夜
    poj Asimple Problem With Integers 夜
    poj 2750 Potted Flower 夜
    poj 2528 Mayor's posters 夜
    poj 2777 Count Color 夜
    poj 2482 Stars in Your Window 夜
  • 原文地址:https://www.cnblogs.com/lpyan/p/9970055.html
Copyright © 2011-2022 走看看