如何将mysql端口从0更改为3306?

时间:2012-04-02 15:25:24

标签: mysql jdbc

我发现很难在jdbc和mysql之间建立链接。我认为其中一个原因是mysql端口。我用语句检查了端口:“show variables like'port';”在mysql中。答案是

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 0     |
+---------------+-------+
1 row in set (0.07 sec)

我的操作系统是archlinux。 如何将mysql端口从0更改为3306?

我更改了/etc/my.cnf和/etc/mysql/my.cnf中的端口号。但它没有用。

8 个答案:

答案 0 :(得分:12)

首先检查SHOW VARIABLES LIKE 'skip_networking';如果报告skip_networking = On,你的mysqld在没有网络支持的情况下启动(导致端口系统变量中的值为0)。

如果是这种情况,您很可能必须检查mysqld的init脚本,最有可能在/etc/init.d/mysql下,在此处搜索--skip-networking并注释掉(删除)此部分。完成此过程后,您必须重新启动mysqld。

Normaly没有必要明确设置端口3306,因为3306是mjysqld监听的默认端口。

答案 1 :(得分:1)

在我的ubuntu安装中,在/etc/mysql/my.cnf中有一行说:

[mysqld]
port = 3306
<snip...>

尝试相应地更改此值并重新启动mysql。

希望它适合你。

答案 2 :(得分:1)

您需要从mysql配置文件中更改此值。步骤是:

  • 转到相关文件:sudo nano /etc/mysql/my.cnf

  • 要搜索相关行:(对于Win,Linux)ctrl + w,(对于Mac)cmd + w

  

port = 0

(look for twice for [client] and [mysqld] sections)
  • 替换新值
port            = 3306
  • 保存并退出
ctrl + x , cmd + x
y
  • 重新启动服务
  

sudo service mysql restart

答案 3 :(得分:0)

您需要在/etc/my.cnf中编辑您的mysql配置文件my.cnf并将端口更改为3306.然后重启mysql。

来源:http://www.cyberciti.biz/faq/change-default-mysql-port-under-linuxunix/

编辑:

此网站可能会为您的特定平台提供更多帮助: https://wiki.archlinux.org/index.php/MySQL#Configuration

有一部分讨论复制my.cnf文件:

  

复制您选择的配置文件:

  # cp /usr/local/mysql/support-files/my-medium.cnf /usr/local/mysql/data/my.cnf

答案 4 :(得分:0)

您可以在MySQL配置文件中更改端口号:my.cnf

答案 5 :(得分:0)

我遇到了这个问题,因为我忘记了我用--skip-networking标志启动了mysqld以重置MySQL root密码,如下所示:

sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &

运行ps aux | grep mysql,您可能会看到流程(或其中一对)仍在闲逛。如果是这样,请将其删除/然后重新启动mysql。

答案 6 :(得分:0)

允许远程连接已修复,未更改“像'PORT'这样的GLOBAL VARIABLES';” 编辑my.cnf /etc/my.cnf

[mysqld]
user            = mysql
basedir         = /usr
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/English
bind-address    = 65.55.55.2
# your mysql server ip address should place in bind-address
# skip-networking

重新启动mysql服务

答案 7 :(得分:0)

在通过运行 mysqld --skip-grant-tables --skip-networking 重置 root 的 PWD 后,我在 MySQL8 社区中遇到了同样的错误。

FLUSH PRIVILEGES; can't help for that even adding skip-networking =OFF and adding port=3306 in my.cnf and restart still can't help. then I found this solution
  1. 检查哪些文件覆盖了 my.cnf

    sudo grep -rnw '/etc/' -e 'skip-networking

<块引用>

/etc/systemd/system/mysqld.service.d/override.conf:3:ExecStart=/usr/sbin/mysqld --skip-grant-tables --skip-networking /etc/my.cnf:28:#skip-networking

  1. 删除override.conf

    rm -rf /etc/systemd/system/mysqld.service.d/override.conf

  2. mysqld.service 已在磁盘上更改

    systemctl daemon-reload

  3. 重启 MySQL

    systemctl 重启 mysqld