yii2框架连接mysql,报禁止外部连接的错误解决办法-php yii migrate生成用户表

11 篇文章 0 订阅

命令;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连接本地数据库了。 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值