mysql怎么开启skip-networking
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql怎么开启skip-networking相关的知识,希望对你有一定的参考价值。
使用skip-name-resolve增加远程连接速度skip-name-resolve
该选项表示禁用DNS解析,属于官方一个系统上的特殊设定不管,链接的的方式是经过hosts或是IP的模式,他都会对DNS做反查,由于反查解析过慢,就会无法应付过量的查询。
单机运行mysql使用skip-networking关闭MySQL的TCP/IP连接方式
skip-networking
开启该选项后就不能远程访问MySQL
为安全考虑希望指定的IP访问MySQL,可以在配置文件中增加bind-address=IP,前提是关闭skip-networking
bind-address=192.168.1.100
MySQL优化应该按实际情况配置。 参考技术A 查看mysql远程访问是否开启?
--------------------------
这个不知道你定义的是指哪方面?
如果是单检查网络方面的,可以检查参数:
mysql> show variables like '%skip_networking%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| skip_networking | OFF |
+-----------------+-------+
1 row in set (0.00 sec)
mysql>
若为on则表示没开通网络连接,只能本机访问.
如果你是指权限方面的话,则可以检查mysql.user来查看:
select * from mysql.user;
其中结果中的列host则表示允许访问的客户端机器(其中%表示所有机器,若只针对某机器,则可以指定ip就可以了)本回答被提问者和网友采纳
mysql找回root密码
skip-grant-tables
1、关闭mysql服务
略(可以kill,尽量别用kill -9)
2、参数启动mysql
bin/mysqld_safe --defaults-file=my.cnf --skip-grant-tables --skip-networking &
#在mysql8.0以skip-grant-tables选项启动,会自动启用--skip-networking
--skip-networking参数。其会让实例关闭监听端口,自然也就无法建立TCP连接,而只能通过本地socket进行连接。
3、更改密码
mysql -S /usr/local/mysql57/data/mysql.sock
5.6:
update mysql.user set password=password(123456) where host=localhost and user=root;
5.7:
update mysql.user set authentication_string=password(123456) where host=localhost and user=root;
8.0:
移除了PASSWORD()函数及不再支持SET PASSWORD ... = PASSWORD (auth_string)语法。
所以需要先通过flush privileges操作触发权限表的加载,再使用alter user语句修改root用户的密码
flush privileges;
alter user root@localhost identified by 123456;
4、刷新权限
flush privileges;
5、重启mysql
先关闭再重启
bin/mysqld_safe --defaults-file=my.cnf &
总结:
1. 如果只添加了--skip-grant-tables,修改完密码后,其实无需重启,执行flush privileges即可。
2. 从安全角度出发,建议加上--skip-networking。但因其是静态参数,将其剔除掉需要重启实例。
3. 加上--skip-networking,虽然可以屏蔽掉TCP连接,但对于本地其它用户,只要有socket文件的可读权限,都能无密码登录。还是存在安全隐患。
4. 不建议通过update的方式修改密码,更通用的其实是alter user。
以上是关于mysql怎么开启skip-networking的主要内容,如果未能解决你的问题,请参考以下文章