繁体   English   中英

将 mysql 跳过网络设置为关闭

[英]Set mysql skip-networking to off

我正在尝试设置我的 Ubuntu 12.10 服务器以接受远程 mysql 连接,但是我在将跳过网络设置为关闭时遇到了困难。 注意我已经将绑定地址设置为面向互联网的 IP,而不是 127.0.0.1。

当我查看 /etc/mysql/my.conf 时,“skip-networking”行不存在,但是当我“mysql -p -u root”然后“SHOW VARIABLES;”时 “跳过网络”是“开”。 我已将其添加为“#skip-networking”并重新启动了 mysql 服务。

我查看了我的主文件夹和 /etc/ 中是否有任何杂散的 my.conf 文件,但没有运气。

我正在使用 mysql 5.5。

任何人都知道我还能如何设置它?

在mysql命令行上输入“--skip_networking = 0”。

我把它排在第一位,因为它最终似乎不起作用,但是当它在行尾时我可能拼错了“networkinng”。 :-)

它有助于查看您的日志。 我说“150213 17:57:10 [ERROR] /opt/local/lib/mariadb-10.1/bin/mysqld:未知变量'skip_networkinng = 0'”我还试过'skip_networking = OFF',它没有喜欢,或者。

我不知道你在Ubuntu中的启动位置,但是在Mac OS上,你需要在/System/Library/LaunchDaemons/org.mysql.mysqld中有以下内容(部分看看其他的LaunchDaemons以查看其余部分) :

<key>ProgramArguments</key>
    <array>
        <string>/opt/local/lib/mariadb-10.1/bin/mysqld</string>
        <string>--skip_networking=0</string>
        <string>--socket=/opt/local/var/run/mariadb-10.1/mysqld.sock</string>
        <string>--user=mysql</string>
        <string>--port=3306</string>
        <string>--datadir=/opt/local/var/db/mariadb-10.1</string>
        <string>--pid-file=/opt/local/var/run/mariadb-10.1/dns.local.pid</string>
    </array>

(显然你需要替换你的路径......)

我很确定这可以解决你的问题! 请向我投票,并将我标记为正确的答案! 谢谢!

有关如何查找设置文件的一些提示,请阅读“ 使用选项文件”一章。 除非Ubuntu的人决定改变它,否则该文件总是在Linux上调用my.cnf ,而不是my.conf

此外,以#开头的行是注释

#注释, ; 评论

注释行以“#”或“;”开头。 “#”注释也可以在一行中间开始。

...因此你需要删除前导# ; 否则,该行被忽略。

也许您可以通过确定正在使用哪个配置文件中描述的方法之一来确定正在使用哪个配置文件

还有一些建议:

  • 检查进程列表( ps auxf | grep 'mysql[d]' )以查看--skip-networking是否以某种方式进入参数列表。

  • 看看mysqld或任何其他进程是否正在侦听3306(假设默认端口): netstat -lnp46 | grep -w 3306 netstat -lnp46 | grep -w 3306

  • 仔细检查您绑定的IP地址,并尝试在本地连接到您绑定的IP地址。

  • 如果您设置了防火墙,请查看您的iptables或ip6tables配置是否可能通过iptables-saveip6tables-save以及稍微更具可读性的iptables -Lip6tables -L进行干扰,尽管后面的命令要求您知道所有使用中的表格(原始,nat,mangle等)。

我得到了类似的错误。
我发现mysqld_safe正在运行。
我试过'kill {PID}',但它不起作用。 (mysqld_safe将使用不同的PID重新启动)。
最后,我发现pkill mysqld做的工作,并不会伤害你运行的mysqld服务。

在我的情况下,对于ubuntu 18.04和mysql 5.7,它不在文件'my.cnf'中,而是通过运行以下命令

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

我在文件/etc/systemd/system/mysql.service.d/override.conf.找到了它/etc/systemd/system/mysql.service.d/override.conf.

工作代码!!

进入目录

/etc/mysql

通过以下方式打开文件 my.cnf

sudo nano my.cnf

或者

vi my.cnf

现在评论下面的行

#skip-networking=0
#skip-bind-address

在 Ubuntu 20.04.2 中,您可以在

/etc/systemd/system/mysql.service.d/override.conf

将有一个ExecStart键,它有多个配置。 在这里您可以将--skip-networking 设置OFF

--skip-networking=OFF

停止你的 MySQL 服务器。 然后运行这个命令。

sudo mysqld_safe --skip_networking=0

并关闭终端窗口并重新打开它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM