如何更改mysql / mariadb 10.xx默认端口?

时间:2017-07-21 12:40:58

标签: mysql linux mariadb

准确地说,我需要将mysql / mariadb 10.xx默认端口更改为端口号15501.

通过互联网我发现它可以从包含行/etc/mysql/my.cnf的{​​{1}}更改,但在我的cnf文件中没有这样的行。

我的port=3306内容:

my.cnf

不知道为什么但是如果我尝试# The MariaDB configuration file # # The MariaDB/MySQL tools read configuration files in the following order: # 1. "/etc/mysql/mariadb.cnf" (this file) to set global defaults, # 2. "/etc/mysql/conf.d/*.cnf" to set global options. # 3. "/etc/mysql/mariadb.conf.d/*.cnf" to set MariaDB-only options. # 4. "~/.my.cnf" to set user-specific options. # # If the same option is defined multiple times, the last one will apply. # # One can use all long options that the program supports. # Run program with --help to get a list of available options and with # --print-defaults to see which it would actually understand and use. # # This group is read both both by the client and the server # use it for options that affect everything # [client-server] # Import all .cnf files from configuration directory !includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mariadb.conf.d/ 它使用任何端口号连接到mariadb。

mysql -uroot -p -P[ANY_PORT IS ACCEPTED example 1829]

我正在使用debian 9

如果你告诉我如何让mysql / mariadb只收听端口15501号,我真的很感激。

2 个答案:

答案 0 :(得分:0)

mysql-command使用套接字文件连接到本地mariadb-server。您可以使用netstat:

查看哪个端口为mysql连接打开
netstat -tulpen | grep mysql
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      104        1511        954/mysqld

例如,您可以在配置文件中搜索默认端口,并将此行的端口更改为15501:

$ find /etc/mysql/ -name "*.cnf" -exec grep -nHR '3306' {} \;
/etc/mysql/my.cnf:20:port               = 3306
/etc/mysql/my.cnf:38:port               = 3306

答案 1 :(得分:0)

您的第一个问题(您希望在不同的端口上运行mariadb)的答案是:在my.cnf部分下的mysqld部分添加一个端口行,例如:

[mysqld]
port=15501

然后重新启动您的服务。这应该让你的mariadb听15501而不是3306。

关于第二部分......我的猜测是你没有指定主机名,因此它默认为/var/lib/mysql/mysql.sock中的localhost和本地套接字连接,忽略你给出的端口参数,因为本地套接字不使用端口。