准确地说,我需要将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号,我真的很感激。
答案 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和本地套接字连接,忽略你给出的端口参数,因为本地套接字不使用端口。