phpstudy将mysql升级到mysql8,mysql8配置,mysql8加密方式更改,mysql8遇到laravel报错解决

梦想的初衷 提交于 2019-11-27 08:06:37

一,phpstudy升级mysql到mysql8(新的phpstudy8已经是mysql8了)

1,下载mysql8
2,将原来的mysql文件夹重命名,并执行 mysqld  --remove
3,将新的mysql8放进去并命名MySQL
4,编辑my.ini,如下供借鉴
#  power by php中文网 2017  www.php.cn  官网下载最新版
[client]
port=3306
[mysql]
default-character-set=utf8

[mysqld]
port=3306
basedir="D:/apps/phpstudy2018/PHPTutorial/MySQL/"
datadir="D:/apps/phpstudy2018/PHPTutorial/MySQL/data/"
character-set-server=utf8
default-storage-engine=INNODB

default_authentication_plugin=mysql_native_password
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

character-set-server = utf8mb4

performance_schema_max_table_instances = 600
table_definition_cache = 400
table_open_cache = 256
[mysql]
default-character-set = utf8mb4
[client]
default-character-set = utf8mb4

5,cmd到mysql/bin下main执行mysqld --initialize --console初始化mysql,成功会看到密码打印出来
6,安装服务 mysqld install
7,启动服务net start mysql
8,应该就可以用phpstudy启动或者关闭了

 

二,mysql8密码加密方式更改,上面的配置里面的mysql_native_password就是沿用了之前的加密方式

三,laravel遇到mysql8可能会报错:

SQLSTATE[42000]: Syntax error or access violation: 1231 Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER' (SQL: 。。。。。。)

这个时候可以将config/database.php里面的mysql配置修改一下,把strict改成false:

'mysql' => [
    ......
    'strict' => false,
    ......
],
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!