Issue: MySQL/MariaDB functions always used '-h hostname' flag, which can cause
issues with Unix socket authentication when connecting to localhost.
Similar to PostgreSQL peer authentication, MySQL prefers Unix socket connections
for localhost rather than TCP connections. Using '-h localhost' forces TCP which
may fail with socket-based authentication configurations.
Fixed locations:
1. internal/restore/safety.go:
- checkMySQLDatabaseExists() - now conditionally adds -h flag
- listMySQLUserDatabases() - now conditionally adds -h flag
2. cmd/placeholder.go:
- mysqlRestoreCommand() - now conditionally adds -h flag
Pattern applied (consistent with PostgreSQL fixes):
- Skip -h flag when host is localhost, 127.0.0.1, or empty
- Only add -h flag for actual remote hosts
- Allows mysql client to use Unix socket connection for local access
This ensures MySQL/MariaDB operations work correctly with both:
- Socket authentication (localhost via Unix socket)
- Password authentication (remote hosts via TCP)