8 votes

Comment changer le numéro de port mysql sous ubuntu ?

Comment puis-je changer le numéro de port de mysql de 3306 à mon choix (1023) dans Ubuntu 13.10 ? J'ai essayé en modifiant le numéro de port dans le fichier : /etc/mysql/my.cnf . Mais après ce changement, mysql ne démarre pas. S'il vous plaît guidez-moi afin que je puisse résoudre ce problème.

7voto

Mohsen Abasi Points 177

Il peut y avoir plusieurs fichiers contenant la configuration de mysql. Leur chemin complet peut exister dans le fichier /etc/mysql/my.cnf par des lignes commençant !includedir . Pour un échantillon, le mien est :

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

Donc, après avoir listé le deuxième répertoire, j'ai trouvé un fichier nommé :

/etc/mysql/mysql.conf.d/mysqld.cnf

Vous devez donc changer le numéro de port dans ce fichier.

Le meilleur moyen pour vous est de visualiser le fichier :

/etc/my.cnf

ou

/etc/mysql/my.cnf

et ensuite changer port dans un fichier à l'intérieur d'un des répertoires inclus mon.cnf fichier.

4voto

Manuel Jordan Points 612

Para Ubuntu Desktop à peu près à la version 18.04 il suffisait de modifier le /etc/mysql/mysql.conf.d/mysqld.cnf fichier :

De :

[mysqld]
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
datadir     = /var/lib/mysql
log-error   = /var/log/mysql/error.log

A :

[mysqld]
port        = 3308 (or other number) <-------------------
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
datadir     = /var/lib/mysql
log-error   = /var/log/mysql/error.log

Enfin, il est obligatoire de redémarrer le serveur en l'exécutant : sudo systemctl restart mysql dans le terminal.

Vous pouvez confirmer les nouveaux paramètres en exécutant la commande : show variables like '%port%'; dans le MySQL Console ( mysql> ) qui génère un résultat du type :

+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| admin_port               | 33062 |
| large_files_support      | ON    |
| mysqlx_port              | 33060 |
| mysqlx_port_open_timeout | 0     |
| port                     | 3308  |
| report_host              |       |
| report_password          |       |
| report_port              | 3308  |
| report_user              |       |
| require_secure_transport | OFF   |
+--------------------------+-------+
10 rows in set (0.02 sec)

Comme vous pouvez le voir, j'ai maintenant le port valeur : 3308 .

3voto

Maythux Points 77506

Le serveur et le client MySQL utilisent un fichier appelé my.cnf. Vous devez ouvrir /etc/my.cnf (fichier de configuration global de mysqld) pour spécifier le nouveau port. MySQL change le port par défaut

Ouvrez le fichier /etc/my.cnf :

# vi /etc/my.cnf

Définir le nouveau port 5123 :

port=5123

Voici mon exemple de fichier /etc/my.cnf :

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
port=5123
old_passwords=1
bind = 10.10.29.66
key_buffer = 500M
table_cache = 4000
sort_buffer_size = 3M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
max_connections = 400
query_cache_type = 1
query_cache_limit = 1M
query_cache_size = 100M
max_allowed_packet = 1M
thread_cache_size = 8
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 4
local-infile=0
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysqldump]
quick
max_allowed_packet = 16M

Enregistrez et fermez le fichier. Redémarrez mysqld :

# service mysqld restart

Veuillez noter qu'une fois le port changé, vous devez mettre à jour tous vos scripts php, perl, Python, y compris les scripts iptables.

3voto

A_nobody Points 171

*UPDATE" - Voir la réponse de Bert ci-dessous ... oui j'ai fait mon.cnf trois changements 2 pour le port et changer l'utilisateur en "root" et oui il démarre sur le port 1023 ... netstat -tln montre 1023 comme le listener ... bravo Bert ...

J'ai juste essayé 1023 ... et noté le message "failed to start" ... j'ai vérifié et 1023 est RESERVÉ 1023 TCP UDP Réservé[1] Officiel

Vous devrez utiliser un autre numéro... désolé...

Rappelez-vous qu'il y a "deux" endroits pour changer le numéro de port mysql dans le fichier /etc/mysql/my.cnf

Le premier :

[Client] port = 1234

Le deuxième :

[mysqld] port = 1234

puis redémarrez le service ... j'espère que cela vous aidera également ... cela a fonctionné pour moi à l'instant pour le tester ...

3voto

Transisco Points 81

Afin de démarrer MySQL ou tout autre service sur un numéro de port inférieur à 1024, vous devez démarrer le service en tant qu'utilisateur de la fonction root utilisateur.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X