phpstudy2018 自带的mysql 版本是 5.5,因业务需要,将其升级至 5.7。
在踩了很多坑查了很多资料之后,决定把过程记录一下,以供诸位参考。
我的安装目录:C:\phpStudy\PHPTutorial\MYSQL。
一、备份原文件
备份原 MYSQL 文件夹,重命名为 MYSQL5.5。
数据库内数据可事先导出,待升级后导入新数据库。
二、下载新版本
mysql 5.7.25 windows 64 bit 下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
将下载文件解压至C:\phpStudy\PHPTutorial,文件夹重命名为 MYSQL。
三、配置
5.7 版本没有 data 文件夹及 my.ini 文件,需手动新增 data 空文件夹以及 my.ini 文件。
另外个人习惯将日志文件统一存放,故同时新增了 log 空文件夹。
配置文件可从备份文件夹中复制,但需注意修改某些配置项,如 innodb_additional_mem_pool_size 参数已经废弃,需注释或删除,否则将导致初始化失败。
my.ini 文件如下:
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir="C:/phpstudy/PHPTutorial/MySQL/"#安装目录
datadir="C:/phpstudy/PHPTutorial/MySQL/data/"#数据存放目录
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
tmp_table_size=32M
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
#5.7.4中已移除innodb_additional_mem_pool_size 和 innodb_use_sys_malloc 两个参数,统一使用操作系统的内存分配器,所以要注意注释掉这个配置项,否则初始化会失败
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
innodb_thread_concurrency=8
innodb_thread_concurrency=8
innodb_thread_concurrency=8
innodb_thread_concurrency=8
innodb_thread_concurrency=8
innodb_thread_concurrency=8
innodb_thread_concurrency=8
innodb_thread_concurrency=8
innodb_file_per_table = 1
explicit_defaults_for_timestamp=1
#日志
general_log=1
general_log_file="C:/phpStudy/PHPTutorial/MySQL/log/general.log"
slow_query_log=1
slow_query_log_file="C:/phpStudy/PHPTutorial/MySQL/log/slow.log"
long_query_time=5
log-error = C:/phpstudy/PHPTutorial/MySQL/log/error.log
四、安装服务及初始化
以管理员身份运行 cmd ,切换路径至 bin,执行安装mysql服务命令:
mysqld install
安装成功会有提示。
注意:若未能安装成功,可能是之前的服务没有卸载干净,此时可 cmd 执行如下命令彻底删除服务:
sc delete mysql
sc delete mysqla
或者也可以通过 phpstudy 客户端服务管理器进行卸载和安装服务。
服务安装之后,执行初始化命令:
mysqld --initialize
初始化成功没有提示,错误会有提示。error.log 文件中会记录详细信息。
此时,可以通过 phpstudy 或者命令行启动 mysql 服务了。若反复卸载安装后仍无法启动,注意查看服务所指向的路径是否正确,若不正确,则需修改注册表项。
五、登录及修改密码
在 error 日志中可以找到初始密码,找到 “root@localhost: ”,冒号后面的即为初始密码。
执行命令,输入密码登录。
mysql -uroot -p
修改密码:
alter user root@localhost identified by 'new_password';
此时便可通过 mysql-front 登录数据库,导入原数据库数据了。