phpstudy2018的mysql版本升级至5.7/8.0
使用laravel执行数据迁移命令的时候报错,查看文档,说是数据库版本太低了。
解决方法是修改个程序文件或者升级数据库版本。
想了想还是升级下数据库版本吧。
升级数据库可以用最新版的phpstudy,他支持自定义数据库版本。
但是用我着没有老版的顺手,就在老版的基础上升级下吧。这个见仁见智怎么操作取决个人。
现在开始~
第一步:
下载mysql包,建议使用国内的mysql镜像下载,下载数据快点。
镜像地址:http://mirrors.sohu.com/mysql/MySQL-5.7/
后边的是版本号,下载其他版本请自行更改。
第二步:
下载的时候可以把phpstudy的mysql先服务卸载。
操作步骤:停止mysql服务->其他选项菜单->服务管理器->mysql->卸载服务。
第三步:
备份旧版mysql文件夹。
新版的解压进去。
第四步:
从MySQL_bak里拷贝一个my.ini放到*:\phpstudy\PHPTutorial\MySQL\bin目录里,高版本里my.ini需要放到bin目录里
我使用的my.ini内容如下:
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir="D:/phpStudy/PHPTutorial/MySQL"
datadir="D:/phpstudy/PHPTutorial/MySQL/data/"
character-set-server=utf8
default-storage-engine=INNODB
#支持 INNODB 引擎模式。修改为 default-storage-engine=INNODB 即可。
#如果 INNODB 模式如果不能启动,删除data目录下ib开头的日志文件重新启动。
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
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_file_per_table = 1
skip-grant-tables = 1
#跳过权限验证
log-error = D:/phpstudy/PHPTutorial/MySQL/data/error.log
第五步:
进入这个目录:*:/soft/phpstudy/PHPTutorial/MySQL/bin
操作命令:
1.初始化mysql,执行此步,目录下会生成一个data文件夹。
mysqld --initialize-insecure --user=mysql
2.安装mysql服务
mysqld –install
3.启动mysql
net start mysql
4.登入mysql并修改密码
mysql -u root -p
直接回车,因为配置文件里配置了不进行登录验证
5.设置密码
update mysql.user set authentication_string=password('root') where user='root' and Host ='localhost';
执行完 exit退出
6.关闭mysql服务
net stop mysql
这时候启动phpstudy可能会发现mysql启动不了。
原因是手动创建mysql服务和PHPstudy创建的服务冲突了。
解决方法:退出mysql,bin目录执行sc delete mysql
删除mysql服务,只留mysqla服务。
重启phpstudy如果没有意外就能启动了。
最后修改my.ini
因为刚才为了安装,加了一句话绕过权限验证,现在注释掉。
现在可以通过phpstudy来开启和关闭mysql啦!
不要忘记将原来的mysql里的data文件夹移到新mysql文件夹下的data文件夹里