Laravel连接MariaDB集群报SQLSTATE[42000]错误求助
Laravel连接MariaDB集群(负载均衡IP)报错问题
使用负载均衡器IP连接MariaDB集群时,Laravel应用抛出如下错误:
SQLSTATE[42000]: Syntax error or access violation: 1148 Unable to parse: use DB_Name;
异常情况:使用独立PHP脚本连接同一MariaDB实例可正常操作,问题仅出现在Laravel应用中。
Laravel数据库配置(config/database.php)
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST_MYSQL', '127.0.0.1'), 'port' => env('DB_PORT_MYSQL', '3306'), 'database' => env('DB_DATABASE_MYSQL', 'forge'), 'username' => env('DB_USERNAME_MYSQL', 'forge'), 'password' => env('DB_PASSWORD_MYSQL', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, 'engine' => null, 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), PDO::MYSQL_ATTR_LOCAL_INFILE => true, ]) : [], ],
已尝试的排查操作
- 验证.env文件中数据库连接参数配置正确
- 执行
php artisan config:cache清除配置缓存 - 检查MariaDB的SQL模式,确保与Laravel兼容
- 使用Laravel Tinker测试数据库连接
- 记录SQL查询,尝试定位问题语句
内容的提问来源于stack exchange,提问作者Jayan Dholariya
相关产品推荐
相关产品推荐

