在网上有很多关于这个的解决方案,我也采用了

写的比较详细的如:

 1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

CODE:mysql -u root -p123

mysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

  2. 授权法。例如,你想kevin使用mypassword从任何主机连接到mysql服务器的话。

CODE:GRANT ALL PRIVILEGES ON *.* TO 'kevin'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

  如果你想允许用户kevin从ip为192.168.101.234的主机连接到mysql服务器,并使用mypassword作为密码

CODE:GRANT ALL PRIVILEGES ON *.* TO 'kevin'@'192.168.101.234' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

  3.如果按照上面这样做还不行(一般好像在windows下那样就可以了)那就修改下面这个配置文件吧(我是在linux环境下 大家可以找到自己mysql安装目录下的相应配置文件)

CODE:vi /etc/mysql/my.cnf

  注释掉

CODE:#bind-address = 127.0.0.1

  大功告成!!!



然后我采用的是第一种方法,然后在运行完最后一句话后出了个错误ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 

于是又去找解决方案,发现先

mysql> select host from user where user = 'root';

+-----------------------+ 

| host | 

+-----------------------+ 

| % | 

| 127.0.0.1 | 

| localhost.localdomain | 

+-----------------------+ 

3 rows in set (0.00 sec) 

host已经有了%这个值,所以直接运行命令:

mysql>flush privileges; 

果然还行的通,由于对mysql不是很深入的了解,通过php果然可以远程访问了,但是我忽略了一点

这里将host = '%'后,是可以远程访问了,但是我们使用root不能访问本地了

这是由于%的意思就是允许除本机外的所有都可以访问



如果前面已经如上操作了,那么你再在本地访问的时候

#mysql -u root -p

输入密码后会提示

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 

这就很郁闷,本机已经无法登陆了,这时我们需要安全模式进入(个人理解为安全模式)

首先,将mysql服务停止

#/etc/init.d/mysql stop   或者  #sudo service mysqld stop

然后再执行

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

记住  后面那个  &是需要的

等出现一些提示后  应该是在starting...之后

直接输入  mysql 即可进入数据库了  (这里其实也可以是忘记密码后进行修改密码的方法)

进入后,修改密码的语句为:

mysql> use mysql;   

进入数据库修改密码

mysql> update user set password = PASSWORD('你的新密码') where user='root'

如果是要解决上面修改了host的方法就是执行

mysql> update user set host='localhost' where user='root' and host='%'

将host改回来



但是改回来岂不是又无法远程访问了?

其实我们可以新增一个用户,把必要的权限授予于这个用户,且将这个用户的host设为%

过程中出现的错误要仔细查看,要注意防火墙的状态,可能影响数据库的远端连接。

远程无法访问linux Mysql解决方案的更多相关文章

  1. 搭建Java服务器,并且实现远程安全访问linux系统

    1.通过ssh实现安全远程访问linux系统        ssh :secure shell         加密:       1. 对称加密 (加密密钥与解密密钥相同)          des ...

  2. Navicat远程连接不上mysql解决方案

    一.can‘t connect to MySql server on ‘47.93.X.X’ 这是因为mysql端口被防火墙拦截,需用linux执行如下指令: 1.#/sbin/iptables -I ...

  3. Navicat远程连接不上mysql解决方案(已测试过)

    内容参考网上的文章,此处只做记录. 一.can‘t connect to MySql server on ‘192.168.X.X’ 这是因为mysql端口被防火墙拦截,需用linux执行如下指令:( ...

  4. 远程桌面访问linux

    hostname -I 10.13.34.185 4900 light-wings http://blog.csdn.net/qq754438390/article/details/50042511

  5. linux mysql远程连接

    今天在本地连接linux服务端的mysql始终报错61,谷歌后找到原因: linux的mysql默认是不允许远程连接操作的,在stack上面找到方法:修改mysql配置文件/usr/local/mys ...

  6. Linux MySQL 常见无法启动或启动异常的解决方案

    Linux MySQL 常见无法启动或启动异常的解决方案 在 Linux 上自建 MySQL 服务器,经常遇到各种无法启动或启动后异常的问题,本文列举一些常见问题的解决办法. 注意:以下错误日志提示, ...

  7. windows下用navicat远程链接虚拟机Linux下MySQL数据库

    今天想用navicat远程连接虚拟机中的MySQL数据库,一直连不上,在网上搜索了一下,发现原因是MySQL对远程用户登陆的授权问题.这里说一下我的解决方法.(本人小白) 首先,我用navicat去远 ...

  8. Linux 安装MongoDB 并设置防火墙,使用远程客户端访问

    1. 下载 MongoDB 提供了 linux 各发行版本 64 位的安装包  下载地址:https://www.mongodb.com/download-center#community 2. 安装 ...

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

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

随机推荐

  1. 博文Contents<451--到999—>

    积分=排名>2017-05-15这一天还真是厉害了.让我等了5个月时间... 前言:博客中的随笔文章.并非都是笔者的原创文章.有些是听别人说的.有些是书上摘录的.有些是百度的.有些是别人博客的文 ...

  2. ASP.NET Core开发期间部署到IIS自定义主机域名并附加进程调试

    在.NET Framework环境下,我们经常会这么做 把一个web项目不经过发布直接部署到IIS里去,配置上主机名,修改一下hosts文件,就可以用自定义的域名来访问我们的应用程序,使用附加到进程( ...

  3. linux source命令与export命令的区别

    shell与export命令 用户登录到Linux系统后,系统将启动一个用户shell.在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序.运行shell脚本程序 ...

  4. python+selenium自动化软件测试(第14章):基础实战(1)

    #coding=utf- from selenium import webdriven from selenium.webdriver.common.by import By from seleniu ...

  5. 2015年ACM长春区域赛比赛感悟

    距离长春区域赛结束已经4天了,是时候整理一下这次比赛的点点滴滴了. 也是在比赛前一周才得到通知要我参加长春区域赛,当时也是既兴奋又感到有很大的压力,毕竟我的第一场比赛就是区域赛水平,还是很有挑战性的. ...

  6. macaca 环境搭建篇,(web 和安卓)

    appium研究一段时间,感觉appium太不稳定了, 后来听说了阿里开源了macaca,那么我就想尝尝鲜,啥都不说,我感觉还是赶紧上手搭建环境吧. macaca介绍: Macaca是一套完整的自动化 ...

  7. spring 整合Mybatis 《报错集合,总结更新》

    错误:java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldExcepti ...

  8. Java类加载原理解析

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt229 2       Java虚拟机类加载器结构简述 2.1    JVM三 ...

  9. Http和Socket详解

    详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp59   这不是同一层的协议 socket是一个针对TCP和UDP编程的借 ...

  10. NPOI导Excel样式设置(转)

    一.创建一个Excel //创建一个工作簿 XSSFWorkbook workbook = new XSSFWorkbook(); //创建一个页 ISheet sheet = workbook.Cr ...