php升级7影响mysql_phpstury 升级mysql5.7

今天在往本地导数据表的时候老是报错:

[Err] 1294 - Invalid ON UPDATE clause for '字段名' column

报错的数据表字段:

`字段名` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP

同事说同一个 sql 文件他可以导成功。猜可能是数据库版本的问题,同事的是 5.6,我查了下本地的数据库版本是 5.5.53。网上查了一下,果然是版本的问题,5.5 和 5.6 在 TIMESTEMP 的行为上有所不同,5.6.5 之前的版本不支持多个CURRENT_TIMESTAMP 默认值。

由于本地用的集成环境是 phpStudy 2016,没有找到升级 MySQL 版本的选项,所以自己升级一下。

从官网上下载高版本的 MySQL :https://dev.mysql.com/downloads/file/?id=467269,选的版本是 5.7.17(后面才发现 5.7 版本的安装、系统表字段等又和之前的版本有所不同)。

步骤:

0x00

备份原来 phpStudy 中 MySQL 安装目录

0x01

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

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

basedir=D:/phpStudy/MySQL

datadir=D:/phpStudy/MySQL/data

0x02

把 MySQL 安装路径添加至系统环境变量

0x03

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

mysqld --initialize

初始化数据库

0x04

安装服务:

mysqld -install

启动服务:

net start MySQL

0x05

此时登入 MySQL 报错:

C:\Users\dell>mysql -uroot -p

Enter password: ****

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

尝试修改 root 用户密码:

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

skip-grant-tables

此时使用 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;

注释掉 my.ini 中刚才添加的

skip-grant-tables

重新登录。

my.ini

# power by phpStudy 2014 www.phpStudy.net 官网下载最新版

[client]

port=3306

[mysql]

default-character-set=utf8

[mysqld]

port=3306

basedir="C:/phpStudy/MySQL/"

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

log-error="C:/phpStudy/MySQL/data/mysql_error.log"

character-set-server=utf8

default-storage-engine=INNODB

#支持 INNODB 引擎模式。修改为 default-storage-engine=INNODB 即可。

#如果 INNODB 模式如果不能启动,删除data目录下ib开头的日志文件重新启动。

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

max_connections=512

query_cache_size=0

#table_cache=256

tmp_table_size=18M

thread_cache_size=8

myisam_max_sort_file_size=64G

myisam_sort_buffer_size=35M

key_buffer_size=25M

read_buffer_size=64K

read_rnd_buffer_size=256K

sort_buffer_size=256K

#innodb_additional_mem_pool_size=2M

innodb_flush_log_at_trx_commit=1

innodb_log_buffer_size=1M

innodb_buffer_pool_size=47M

innodb_log_file_size=24M

innodb_thread_concurrency=8

skip-grant-tables

此时查看 mySQL 版本:

48304ba5e6f9fe08f3fa1abda7d326ab.png

mysql> select version();

+-----------+

| version() |

+-----------+

| 5.7.17 |

+-----------+

48304ba5e6f9fe08f3fa1abda7d326ab.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值