如何在 Ubuntu 13.10 中将 mysql 的端口号从 3306 更改为我选择的数字 (1023)?我尝试通过编辑文件中的端口号:/etc/mysql/my.cnf. 但是在此更改之后,mysql 不会启动。请指导我,以便我解决此问题。
小智 6
可能有多个文件包含 mysql 配置。它们的完整路径可能以 开头/etc/mysql/my.cnf的行存在于文件中!includedir。对于样本,我的是:
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
Run Code Online (Sandbox Code Playgroud)
因此,在列出第二个目录后,我找到了一个名为:
/etc/mysql/mysql.conf.d/mysqld.cnf
Run Code Online (Sandbox Code Playgroud)
所以你必须改变这个文件中的端口号。
对您来说最好的方法是查看文件:
/etc/my.cnf
Run Code Online (Sandbox Code Playgroud)
或者
/etc/mysql/my.cnf
Run Code Online (Sandbox Code Playgroud)
然后在包含my.cnf文件的目录之一内的文件中更改端口号。
对于Ubuntu Desktopabout version 18.04,编辑/etc/mysql/mysql.conf.d/mysqld.cnf文件就足够了:
从:
[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
Run Code Online (Sandbox Code Playgroud)
到:
[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
Run Code Online (Sandbox Code Playgroud)
最后,必须通过sudo systemctl restart mysql在终端中运行:来重新启动服务器。
您可以通过运行( )SHOW VARIABLES LIKE '%port%';中的命令来确认新设置,该命令会生成类似以下内容的输出:MySQL Consolemysql>
+--------------------------+-------+
| 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)
Run Code Online (Sandbox Code Playgroud)
如您所见,我现在的port值是:3308。
MySQL 服务器和客户端使用名为 my.cnf 的文件。您需要打开/etc/my.cnf(全局mysqld配置文件)来指定新端口。MySQL 更改默认端口
打开/etc/my.cnf文件:
# vi /etc/my.cnf
Run Code Online (Sandbox Code Playgroud)
设置新端口 5123:
port=5123
Run Code Online (Sandbox Code Playgroud)
这是我的示例 /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
Run Code Online (Sandbox Code Playgroud)
保存并关闭文件。重新启动 mysqld:
# service mysqld restart
Run Code Online (Sandbox Code Playgroud)
请注意,一旦端口更改,您需要更新所有 php、perl、python 脚本,包括 iptables 脚本。
*更新” - 请参阅下面 Bert 的答案.. 是的,我已经对 my.cnf 端口进行了三处更改 2,并将用户更改为“root”,是的,它以端口 1023 启动... netstat -tln 显示 1023 作为侦听器 .. 荣誉 Bert ...
刚刚尝试了 1023 ...并注意到“无法启动”消息...检查并 1023 已保留 1023 TCP UDP 保留[1] 官方
你必须使用另一个号码......所以......
请记住 /etc/mysql/my.cnf 中有“两个”地方可以更改 mysql 端口号
首先:
[客户端]端口 = 1234
第二:
[mysqld] 端口 = 1234
然后重新启动服务...希望这也有帮助...刚刚为我测试它...