Připojení na databázi na jiném serveru

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
lukinpark
Člen | 9
+
0
-

Zdravím vás,
potřeboval bych poradit…

Mám 2 servery (1.2.3.4 a 5.6.7.8) (Linux Debian 7), první je pro web a druhý pro databázi.
Na serveru 5.6.7.8

Server: Localhost via UNIX socket
Verze MySQL: 10.0.11-MariaDB-1~wheezy-log
Verze protokolu: 10
Uživatel: root@localhost
Znaková sada v MySQL: UTF-8 Unicode (utf8)

Jak nastavit config.neon, abych se připojil k databázi na 2 serveru?

Současné nefunkční nastavení s chybou SQLSTATE[HY000] [2002] Connection refused:

common:
	parameters:
		database:
			driver: mysql
			host: "5.6.7.8"
			unix_socket: "/run/mysqld/mysqld.sock"
			dbname: db
			user: root
			password: root


	php:
		date.timezone: Europe/Prague


	nette:
		session:
			#autoStart: smart

		database:
			default:
				dsn: '%database.driver%:host=%database.host%;unix_socket=%database.unix_socket%;dbname=%database.dbname%'
				user: %database.user%
				password: %database.password%
Jan Endel
Člen | 1016
+
+1
-

Nastavení máš správně, Connection refused znamená, že mysql na tehle ip/portu neposlouchá.

lukinpark
Člen | 9
+
0
-

Jak zjistím, na kterém portu naslouchá?

petr.pavel
Člen | 535
+
+1
-

http://lmgtfy.com/?…

Jestli není defaultní, tak se musíš zeptat jeho správce. Případně kouknout do my.ini / my.cnf (sekce [mysqld]).

Jinak ty se připojuješ přes socket, ne přes port. Mám takový dojem, že socket jde použít jen při připojování v rámci stejného serveru.

petr.pavel
Člen | 535
+
0
-

Co v mé předchozí odpovědi ti není jasné?

Jan Endel
Člen | 1016
+
0
-

Nic, psal to před tou odpovědí ;)

Duch.Veliky
Člen | 68
+
+1
-

Zeptáš se správce toho serveru, jestli ti povolil vzdálené připojení do databáze a pokud ano, tak na jaké IP a na jakém portu :).

Defaultně je vzdálené spojení na databázi na většině serverů zakázané.