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