Frage Wie konfiguriere ich MySQL auf demselben Rechner mit anderem Port?


Wie konfiguriere ich zwei verschiedene Ports für MySQL auf demselben Rechner? Ich weiß, dass der Standardport 3306 ist. Aber ich möchte auch 3307 und 3308 konfigurieren. Ist das möglich?

Eine Bonusfrage mit der aktuellen;)

Können wir verschiedenen Datenbanken unterschiedliche Ports zuweisen und auch Credentials zuweisen / erstellen?


5
2017-09-30 13:30


Ursprung


Antworten:


Du kannst den ... benutzen --port=port_num Möglichkeit. Guck mal Hier Weitere Informationen zum Konfigurieren mehrerer mysql-Instanzen


7
2017-09-30 13:32



Sie können mehrere Instanzen von mysql starten:

mysqld_safe --defaults-file=/path/to/my.cnf1
mysqld_safe --defaults-file=/path/to/my.cnf2
mysqld_safe --defaults-file=/path/to/my.cnf3

und ändere die Hafen Parameter im Abschnitt [mysqld] jeder my.cnf.

Wenn Sie nur einen MySQL-Prozess / Datenbank haben möchten, können Sie die Portumleitung (mit Linux) verwenden:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3307 -j REDIRECT --to-port 3306
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3308 -j REDIRECT --to-port 3306

4
2017-09-30 13:37



Sie können kopieren /etc/mysql/my.cnfÄndern Sie den Port darin und ändern Sie die Pfade auch in Datendirs, denn ich bin mir ziemlich sicher, dass Sie nicht mehr als eine Instanz von mysql von denselben Verzeichnissen haben können.

Prüfen http://dev.mysql.com/doc/refman/5.1/en/multiple-servers.html.

Ex :

cp /etc/mysql/my.cnf /etc/mysql/my-3307.cnf
//edit my-3307.cnf, for example
port = 3307
basedir = /var/lib/mysql-3307
datadir = /var/lib/mysql-3307
//end-edit
mysql_upgrade --defaults-file=/etc/mysql/my-3307.cnf #checks the syntax and creates the dirs you need.
#start mysqld
mysqld --defaults-file=/etc/mysql/my-3307.cnf

4
2017-09-30 13:42



mysqld_multi ist bei weitem der beste Weg, um verschiedene Instanzen von MySQL zu behandeln.

Einige nützliche Tipps:

  • mysqld_multi --example
  • überprüfe, ob apparmor mysql nicht vom Zugriff abhält /var/lib/mysql2 wenn du merkwürdige Erlaubnisfehler bekommst.

1
2018-01-02 16:33



Ich benutze CentOS. Nicht ist zu einfach,

  1. Datei bearbeiten /etc/my.cnf, Suchen und ändern oder Zeile hinzufügen: port =Port-Nummer.
  2. semanage port -a -t mysqld_port_t -p tcp Port-Nummer
  3. Starten Sie MySQL Server neu. Dienst mysqld Neustart

0
2018-03-05 05:49