php - laravel发布到centos7时不能连接mariadb数据库
PHP中文网
PHP中文网 2017-04-10 18:00:42
[PHP讨论组]

从本地的windows发布到云主机,本地是可以工作的(wnmp),在云主机上测试执行php artisan migrate,报错如下:

  [PDOException]                                                                         
  SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)

env文件里填写了用户名和密码的:

DB_USERNAME=root
DB_PASSWORD=123456

在终端里面测试可以连接:

# mysql -uroot -p123456;
MariaDB [(none)]> 

怎么一回事?

更新:
数据库更换用户也不行,好像没有用到env文件的内容:
给mariadb创建一个test用户:

MariaDB [(none)]> grant all privileges on *.* to test@localhost identified by 'mysql';
MariaDB [(none)]> flush privileges;

把env文件改为test用户:

APP_ENV=production
APP_KEY=base64:fzg/fitaaaaaaaaaaaaaaaaaaaaaaaa0=
APP_DEBUG=false
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=test
DB_PASSWORD=mysql

出现和以前同样的错误,错误信息中仍然是root用户,怎么的呢?好像没有用到env文件,在config/database.php中填入用户名密码也不行,好像是读取不到这些信息。

  [PDOException]                                                                         
  SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)  
PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
PHP中文网

看mysql.users表的root账号是否有密码为空的select *from mysql.user where user='root'; `

巴扎黑

1、创建一个用户并授权 grant select,insert,update,delete on db.* to username@'10.%' identified by 'passwd';
2、防火墙开放3306端口

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号