命令;php yii migrate
安装好yii框架后,配置好本地数据库后,用PHPstorm中的终端功能倒入数据表时,报禁止外部连接的错误,如下图:
搜了一圈是因为,在mysql8版本中修改了加密的插件方式,mysql8.0 引入了新特性 caching_sha2_password;这种密码加密方式Navicat 12以下客户端不支持;更改用户密码需要加入with mysql_native_password
第一步:终端进入数据库,使用mysql数据库,然后输入如下三条命令:
GRANT ALL ON *.* TO 'root'@'%';
alter user 'root'@'%' identified with mysql_native_password by 'root';
FLUSH PRIVILEGES;
如下图:
第二步:然后在PHPstorm中执行 PHP命令:php yii migrate,再输入yes
看到 Migrated up successfully.,说明执行成功,如下图:
第三步:再到数据库中刷新数据库,看到两个数据表,数据表倒入成功,如下图:
用gii生成模型
1.访问gii,浏览器中输入r=gii,访问脚手架页面
2.到了页面以后,报如下错误:数据库连接失败
看了看代码中的配置:host写的是localhost,换成127.0.0.1,再次访问,就可以了
因为localhost是通过socket方式来连接,而127.0.0.1则是走的TCP协议
还有一种方法是进入mysql输入status;找到UNIX socket文件的位置,如下图:
然后修改php.ini中的配置:
设置php.ini文件中的pdo_mysql.default_socket的值为.sock文件的路径。
pdo_mysql.default_socket= /tmp/mysqld.sock
修改完后重启nginx 和php-fpm;就可以用localhost连接本地数据库了。