这里记录一下.

一台服务器上面的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 字段的区别. 

单词真鸡儿长.
新生

2018.01.09 阅读 8772

这里主要介绍在不知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

设置mysql 5.7 可以外部访问的办法的更多相关文章

  1. 怎么设置MySQL就能让别人访问本机的数据库了?

    for all ips use below GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION; for particular ...

  2. centOS7 设置mysql数据库外网可以访问

    1.查看目前防火墙是否对外开发了3306端口 firewall-cmd --list-all 2.查看3306端口是否开放 firewall-cmd --query-port=3306/tcp no ...

  3. centos7 打开mysql 3306端口并 设置外部访问

    mysql安装后默认是localhost访问,如果需要外部访问可以设置一个新的账号把host改为%,意味着所有ip均可以访问 grant all privileges on *.* to 'outUs ...

  4. linux mysql 数据库开启外部访问设置指南

    Linux下设置MySQL和允许外部机器访问,具体目录是具体情况而定,有的人是安装了在个人目录下,则找到对应的目录则可以 Linux下设置MySQL和允许外部机器访问sudo vi /etc/my.c ...

  5. mysql 设置可以外部访问

    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;   --授权可以外部 ...

  6. WAMPserver配置(允许外部访问、phpmyadmin设置为输入用户名密码才可登录等)

    对于很多不熟悉PHP环境安装的朋友来说,用集成环境可以更快的上手,更方便的搭建PHP的运行环境,但是,WAMP的集成环境仅仅是将底层基础工作做好 了,有些个别关键的配置操作并没有集成到环境安装中,所以 ...

  7. ubuntu系统lamp环境搭建、数据库迁移、设置数据库外部访问

    sudo passwd root设置两次密码su输入设置的密码exit (退出root帐号) 1.sudo apt-get update 2.sudo apt-get install apache2 ...

  8. Docker 安装mysql以及外部访问

    (1)因为我们的镜像是linux环境下的,我所在的系统是windows系统.首先通过docker客户端切换到linux环境下. (2)使用docker pull mysql/mysql-server ...

  9. 设置MySQL允许外网访问

    1:设置mysql的配置文件      /etc/mysql/my.cnf      找到 bind-address  =127.0.0.1  将其注释掉://作用是使得不再只允许本地访问:   重启 ...

随机推荐

  1. Ubuntu:19.04程序启动缓慢

    造冰箱的大熊猫@cnblogs 2019/5/8 Ubuntu 19.04,程序(Firefox.Terminal.Nautilus)启动非常缓慢.点击桌面工具栏上的Nautilus图标后,隔了很久才 ...

  2. Charles中文破解版下载安装及使用教程

    下载地址:https://pan.baidu.com/s/1praYZAw23psZLi59hKJjqw 一. 简介及安装 Charles 是在 PC 端常用的网络封包截取工具,但它不仅仅能在pc端使 ...

  3. 基本CSS布局

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  4. 【转】python 输入一个时间,获取这个时间的下一秒

    原文:https://blog.csdn.net/l_d_56/article/details/84832198 输入一个时间,获取这个时间的下一秒 PS:下面代码使用于 python 2.7 tim ...

  5. JavaScript 正则的使用方法

    JavaScript正则方法 1.compile 编译一个正则表达式对象 rgExp.compile(pattern, [flags])  pattern字符串表达式 2.exec 在指定字符串中执行 ...

  6. Linux配置Key,禁止root实现免密码登陆

    前言:        我所理解的是Key登陆认证方式,其实就是拿私钥去解密公钥,私钥需要自己妥善保管,公钥可以随意公开. 废话少说,准备2台服务器,Server1:192.168.1.1   Serv ...

  7. golang mysql 如何设置最大连接数和最大空闲连接数

    本文介绍golang 中连接MySQL时,如何设置最大连接数和最大空闲连接数. 关于最大连接数和最大空闲连接数,是定义在golang标准库中database/sql的. 文中例子连接MySQL用的SQ ...

  8. 关于排查python内存泄露的简单总结

    这次的内存泄露问题是发生在多线程场景下的. 各种工具都试过了,gc,objgraph, pdb,pympler等,仍然没有找到问题所在. pdb感觉用起来很方便,可以调试代码,对原来的代码无侵入性. ...

  9. CSS中 Padding和Margin两个属性的详细介绍和举例说明

    代码示例: <!doctype html> <html lang="en"> <head> <meta charset="UTF ...

  10. javascript之常用事件

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...