设置mysql 5.7 可以外部访问的办法
这里记录一下. 一台服务器上面的mysql出现了 无法外面连的情况解决办法:
. 先尝试在宿主机上面登录 mysql -uroot -p 输入密码,可以登录. 然后
use mysql # 切换数据库
select * from user # 查看用户表
发现 root 后面只有localhost 然后继续执行语句 update user set host ='%' where user=root
再次验证远程访问. 发现还是不行. 查看网络情况: lsof -i:
情况如下: root@Kylin:/etc/mysql# lsof -i:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld mysql 32u IPv4 0t0 TCP localhost:mysql (LISTEN) 发现仅监听了 localhost 肯定不行
修改 my.conf #默认位置一般为 /etc/my.conf 或者是 /etc/mysql 目录下. 在 [mysqld] 后面增加上一行: bind-address=0.0.0.0
然后再次使用lsof 进行查看 验证可以访问. 注意 本次还错误的将 % 修改为了 * 这次进行处理 还要增加上 skip-grant-tables # 注意是复数 tables ..
附加一个别人的解决密码的问题:
MySQL 5.7 忘记root密码,使用--skip-grant-tables重置root密码的通用方法
https://majing.io/posts/10000005451184 主要是 password 字段还有 authentication_string 字段的区别. 单词真鸡儿长.
这里主要介绍在不知MySQL的root密码的情况下,使用--skip-grant-tables关闭MySQL服务器的认证,从而可以重置root的密码。MySQL版本为5.7。
1、关闭MySQL
sudo service mysqld stop
2、使用--skip-grant-tables和 --skip-networking 重启MySQL
sudo mysqld --skip-grant-tables --skip-networking &
--skip-grant-tables:此选项会让MySQL服务器跳过验证步骤,允许所有用户以匿名的方式,无需做密码验证直接登陆MySQL服务器,并且拥有所有的操作权限。
--skip-networking:此选项会关门MySQL服务器的远程连接。这是因为以--skip-grant-tables方式启动MySQL服务器会有很大的安全隐患,为了降低风险,需要禁止远程客户端的连接。
3、本地连接mysql
shell> mysql
--skip-grant-tables已经关闭MySQL服务器的认证,以匿名方式,无需密码即可连接。
4、重置密码
在重置密码前,先要重载授权表:
mysql> FLUSH PRIVILEGES;
MySQL 5.7.6+:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
MySQL 5.7.6以及之后的版本,使用ALTER USER语法来修改密码。
MySQL 5.7.5以及之前的版本
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
MySQL 5.7.5以及之前的版本使用SET PASSWORD语法修改密码。
如果上面的方法修改密码有错,可以直接修改mysql.user表:
UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass')
WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
注意:mysql5.7 user表里已经去掉了password字段,改为了authentication_string。
5、重启服务器
service mysqld restart
因为之前使用--skip-grant-tables启动,所以需要重启mysql服务器,去掉--skip-grant-tables。
参考:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
最新文章
- python 数据类型 -- 元组
- 【腾讯Bugly干货分享】WebVR如此近-three.js的WebVR示例解析
- 一个简单的MVC实例及故障排除
- eclipse快捷键积累(持续更新)
- easyui 日期控件清空值
- RTL 与 technology schematic的区别,包含概念与实例
- 国内IT技术博客对比
- nginx Engine X静态网页服务器介绍
- C语言学习笔记--类型定义&;联合
- 集合运算符之全集、交集、补集【weber出品必属精品】
- poj2262---素数(质数)的判断
- boadWorld Mark!
- #cat /proc/meminfo 详解
- 与班尼特·胡迪一起拿奖学金(HZNU-2273)
- 2018-2019-2 实验一 Java开发环境的熟悉
- linux解压缩命令之unzip,tar(持续更新)
- ASP.NET Core WebApi使用Swagger生成api说明文档
- UI相关教程:HUD、UMG和Widget
- 吴裕雄 python oracle检索数据(2)
- Delphi的打开文件对话框-TOpenDialog
热门文章
- SSH整合框架
- 什么是SYN Flood攻击?
- 灰度图像--图像增强 非锐化掩蔽 (Unsharpening Mask)
- TensorFlow使用记录 (六): 优化器
- 2017多校联合训练2—HDU6054--Is Derek lying?(思维题)
- 微信小程序_(案例)简单中国天气网首页
- cocos2dx热更新之后,闪退问题记录。
- IDEA:Process finished with exit code -1073741819 (0xC0000005)
- java判断一个字符串是否为数字型
- 如何查看 SELinux状态及关闭SELinux