Files
sam-sales/check_db_user.php

69 lines
2.3 KiB
PHP
Raw Normal View History

2026-01-06 09:11:45 +09:00
<?php
/**
* 서버에서 실행할 DB 사용자 확인 스크립트
* 사용법: php check_db_user.php
*/
echo "=== 데이터베이스 연결 정보 확인 ===\n\n";
// .env 파일 로드
$envFile = __DIR__ . '/.env';
$db_host = 'localhost';
$db_name = 'chandj';
$db_user = 'root';
$db_pass = '';
if (file_exists($envFile)) {
echo "✅ .env 파일 발견: $envFile\n";
$lines = file($envFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach ($lines as $line) {
if (strpos($line, '=') !== false && strpos($line, '#') !== 0) {
list($key, $value) = explode('=', $line, 2);
$key = trim($key);
$value = trim($value);
if ($key === 'DB_HOST') {
$db_host = ($value === 'mysql' || strpos($value, 'mysql') !== false) ? 'localhost' : $value;
}
if ($key === 'DB_NAME') $db_name = $value;
if ($key === 'DB_USER') $db_user = $value;
if ($key === 'DB_PASS') $db_pass = $value;
}
}
} else {
echo "⚠️ .env 파일을 찾을 수 없습니다: $envFile\n";
echo "기본값을 사용합니다.\n";
}
echo "\n";
echo "DB_HOST: $db_host\n";
echo "DB_NAME: $db_name\n";
echo "DB_USER: $db_user\n";
echo "DB_PASS: " . (empty($db_pass) ? '(설정되지 않음)' : '***') . "\n";
echo "\n";
// PHP로 DB 연결 테스트
echo "=== PHP로 DB 연결 테스트 ===\n";
try {
$dsn = "mysql:host=$db_host;dbname=$db_name;charset=utf8mb4";
$pdo = new PDO($dsn, $db_user, $db_pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
]);
echo "✅ PHP로 DB 연결 성공!\n";
echo "사용 가능한 사용자: $db_user\n";
echo "\n";
echo "다음 명령으로 덤프를 생성하세요:\n";
if (empty($db_pass)) {
echo " mysqldump -u $db_user -p $db_name > /tmp/chandj_backup.sql\n";
} else {
echo " MYSQL_PWD='$db_pass' mysqldump -u $db_user $db_name > /tmp/chandj_backup.sql\n";
}
} catch (PDOException $e) {
echo "❌ PHP로 DB 연결 실패: " . $e->getMessage() . "\n";
echo "\n";
echo "다른 사용자를 시도해보세요:\n";
echo " 1. mysqldump -u codebridge -p chandj > /tmp/chandj_backup.sql\n";
echo " 2. mysqldump -u root -p chandj > /tmp/chandj_backup.sql\n";
echo " 3. sudo mysqldump -u root -p chandj > /tmp/chandj_backup.sql\n";
}