Mysql (client): verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
Regel 45: Regel 45:
 
</pre>
 
</pre>
  
Dit lijkt niet te werken zonder <code>-h 127.0.0.1</code>, ook al lijkt me dat de standaardhost
+
* <code>--port</code> verwijst naar de getunnelde MySQL-poort. Zonder deze optie probeert mysql te verbinden met een locale MySQL-database met naam <code>dbusername</code>
 +
* <code>-h 127.0.0.1</code> (host) is noodzakelijk, ook al lijkt me dat dit 127.0.0.1 de standaardhost is.
 +
 
 +
Dit werkt ook:
 +
 
 +
<pre>
 +
mysql --user dbusername --port 3337 -pFDLsdDSLfds -h 127.0.0.1
 +
</pre>
 +
 
 +
Hierbij is het wachtwoord geïncorporeerd in het commando. Dat werkt trouwens alleen met optie <code>-p</code> en niet met <code>--password</code>.
  
 
== Bronnen ==
 
== Bronnen ==

Versie van 7 mei 2021 10:08

mysql is naast de naam van het RDBMS, tevens de naam van een command-line client. Deze wordt altijd meegeleverd met servers. Vaak is-ie onmisbaar.

Inloggen op locale server

Syntaxis voor inloggen op een locale server:

mysql -u <gebruikersnaam> -p<wachtwoord>
  • Merk op, dat er geen spatie is tussen -p en het wachtwoord
  • Doorgaans sla ik m'n credentials op in een .my.cnf-bestand, zodat ik met alleen mysql kan inloggen.

Inloggen op remote server

Remote inloggen via TCP/IP:

mysql -u <gebruikersnaam> -p<wachtwoord> -h <ip-adres> -p <poortnummer>

Inloggen via SSH Tunnel

Opzetten SSH tunnel

alias tunnel_srv7="ssh -N -L 3336:127.0.0.1:3306 jeroen@129.210.167.215 -f"

Wat dit doet:

  • -N: Don't execute a command right now
  • -L 3336:127.0.0.1:3306: Create a local port forwarding, with local port number, destination IP-adres en remote port number gescheiden door ":"
  • jeroen@129.210.167.215: Remote server
  • -f: Run command in background
  • SSH gebruikt hier het standaard IP-adres 22. Dit kun je desgewenst aanpassen met optie -p [port number].

Deze commando's heb ik opgeslagen in .bashrc als aliassen, bv. tunnel_srv1 en tunnel_srv23.

Inloggen mysql-client

Dit werkt:

mysql --user dbusername --port 3337 --password -h 127.0.0.1
  • --port verwijst naar de getunnelde MySQL-poort. Zonder deze optie probeert mysql te verbinden met een locale MySQL-database met naam dbusername
  • -h 127.0.0.1 (host) is noodzakelijk, ook al lijkt me dat dit 127.0.0.1 de standaardhost is.

Dit werkt ook:

mysql --user dbusername --port 3337 -pFDLsdDSLfds -h 127.0.0.1

Hierbij is het wachtwoord geïncorporeerd in het commando. Dat werkt trouwens alleen met optie -p en niet met --password.

Bronnen