Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将mysql端口从0更改为3306?_Mysql - Fatal编程技术网

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

如何将mysql端口从0更改为3306?,mysql,Mysql,我发现很难在JDBC和MySQL之间建立链接。我认为原因之一是mysql端口。我用以下语句检查端口:show变量,如“port”在mysql中。答复是: +---------------+-------+ | Variable_name | Value | +---------------+-------+ | port | 0 | +---------------+-------+ 1 row in set (0.07 sec) 我的操作系统是archlinux。

我发现很难在JDBC和MySQL之间建立链接。我认为原因之一是mysql端口。我用以下语句检查端口:
show变量,如“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中的端口号。但它不起作用。

在我的ubuntu安装中,在/etc/mysql/my.cnf中有一行文字写道:

[mysqld]
port = 3306
<snip...>
[mysqld]
端口=3306
尝试相应地更改此值并重新启动mysql


希望它对您有用。

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

资料来源:

编辑:

此网站可能会对您的特定平台有更多帮助:

其中有一部分是关于通过my.cnf文件进行复制的:

复制您选择的配置文件:
#cp/usr/local/mysql/support files/my-medium.cnf/usr/local/mysql/data/my.cnf


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

首先检查
显示的变量,如“skip_networking”如果报告skip_networking=On,则mysqld在没有网络支持的情况下启动(这导致端口系统变量中的值为0)

如果是这种情况,您很可能必须检查mysqld的init脚本,它很可能位于
/etc/init.d/mysql
下,在此处搜索
——跳过网络
,并注释(删除)此部分。完成此过程后,您必须重新启动mysqld


通常不需要显式设置端口3306,因为3306是mjysqld侦听的默认端口

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

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

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

端口=0

  • 替换您的新值
  • 保存并退出
  • 重新启动服务
sudo服务mysql重启


我出现这个问题是因为我忘记了我使用
--skip networking
标志启动mysqld是为了重置MySQL根密码,如下所示:

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

运行ps aux | grep mysql
,您可能会看到进程(或一对进程)仍在运行。如果是这样,请杀死它/它们,然后重新启动mysql。

允许远程连接修复,不更改“全局变量,如“端口” 编辑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服务

在我通过运行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
  • 检查哪些文件覆盖my.cnf

    sudo grep-rnw'/etc/'-e'跳过网络

  • /etc/systemd/system/mysqld.service.d/override.conf:3:ExecStart=/usr/sbin/mysqld--跳过授权表--跳过网络 /etc/my.cnf:28:#跳过网络

  • 删除override.conf

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

  • 已在磁盘上更改mysqld.service

    systemctl后台程序重新加载

  • 重新启动MySQL

    systemctl重新启动mysqld


  • 当您执行show变量如“port”时,您使用哪个端口连接到数据库?查看您的my.ini,通常位于/etc/mysql3306中是默认端口。为什么您认为您未公开的JDBC问题与在非标准端口上安装MySQL有关?您是如何修复的?“我发现它很难”不是一个问题描述,这里没有实际的问题。你的实际问题是什么?您可以通过
    my.cnf
    netstat
    确定它正在侦听的端口。您重新启动了MySQL吗?您可能希望关闭MySQL,进行更改,然后重新启动服务。如果这不起作用,那么还有其他因素在起作用。在启动期间或之前更改端口号的其他守护程序。我已将“skip_networking”设置为打开,不知道为什么。我看不到在哪里换车it@OneSolitaryNoob编辑您的
    my.cnf
    文件,并将行
    skip networking=Off
    添加到
    [mysqld]
    部分,然后重新启动服务器。
    sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
    
    [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
    
    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