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.
Réponses
Trop de publicités?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.
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
.
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.
*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 ...