直接用SecureCRT登录到我的linux服务器,连接mysql后出现以下错误

然后我用root用户登录到mysql查看了我的用户信息,如下

出现问题1的原因有很多种,我这里是因为用错了yanglibin这个用户的密码,用正确的密码就ok了

更多详细信息请看 http://blog.csdn.net/lioncode/article/details/7917310(说的很全了)

那篇博客里面还提到过一种很常见的问题就是mysql无法远程登录,

也就是“原因2 : 用户账号存在,但未对其所在的客户端的IP进行远程访问授权允许”

为了模拟这种情况,我创建了一个用户 testmysql如下

提示错误信息如下

这种情况就如博客中所说的“原因2”解决方法是给testmysql用户赋予它所有机器可以登录的权限

注:用以下方式授权用户的前提是mysql.user表中没有其他的testmysql用户,否则很容易报错

为了测试方便我另建了一个用户testmysql1;

最后发现用testmysql1这个用户还是无法登陆的mysql,从那篇博客中的以下截图中找到了一个方法,就是把testmysql1这个用户的密码置空

update mysql.user set Password = PASSWORD('') where User= 'testmysql1';

然后去登陆就可以了,不太清楚这是为什么,很疑惑

这个时候已经可以通过远程链接,如用secureCRT用testmysql1用户去登录mysql,可以行通,但是用这个用户通过navicat这个软件去连接mysql会提示如下错误

到了这一步碰到这个问题找了很多网上的解决方法,比如

http://kiddwyl.iteye.com/blog/67708

http://zhidao.baidu.com/link?url=0hbT0VywNqcmN1uiONFtca7qPjDcgdAi4zZgt6Yc86A1Tsm97o9UqWC4T0uiziSjuDdsD4aquJjITzERn1Y8la

http://zhidao.baidu.com/link?url=tO_HElduXYDtdRNgib9Ce07WNFVfaYq7mTLiixf8onfSqvHgpWTSxTy9HZ0Mgy__q2hybelglVArvxlFi4c-p_

但是都无法解决我的问题,没办法只有继续找了,无意中看到有可能是因为本地机的3306端口被占用,根据这一提示就试着改了下/etc/my.cnf

如下:

vim /etc/my.cnf

再去用navicat连接mysql就可以了,当然这只是一个测试用例为了去说明问题,正式情况一般不会去改mysql的端口号

另外推荐一篇关于mysql用户权限的文章

http://blog.csdn.net/mchdba/article/details/45934981

远程连接mysql数据库碰到的问题及解决方案的更多相关文章

  1. Navicat for mysql 远程连接 mySql数据库10061、1045错误

    原文地址:http://www.111cn.net/database/mysql/46377.htm 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061 ...

  2. Windows操作系统下远程连接MySQL数据库

    用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...

  3. linux远程连接mysql数据库

    在linux系统中,远程连接mysql数据库时不仅需要开启ip访问,还需要将防火墙中添加相应规则 在wdlinux中的[安全管理]菜单下选择[防火墙[iptables]]选项,增加端口为3306的规则 ...

  4. navcat无法远程连接mysql数据库解决办法

    navcat无法远程连接mysql数据库,一般都是因为本地ip没有访问权限,服务器上执行下面指令即可解决 mysql -u root -p GRANT ALL PRIVILEGES ON *.* TO ...

  5. 远程连接MySQL数据库问题总结

    远程连接MySQL数据库时,陆陆续续遇到了一些杂七杂八的问题,相信很多人也曾经遇到过这类问题,下面总结归纳在下面,方便以后直接查找. 1:出现ERROR 2003 (HY000): Can't con ...

  6. 【MySQL解惑笔记】Navicat 无法远程连接MySQL数据库

    安装好Navicat之后远程连接MySQL数据库出现以下报错截图: 出现以上截图怀疑是mysql用户权限不够: GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.1 ...

  7. 远程连接 mySql数据库

    远程连接 mySql数据库 一.安装并配置MySQL1.安装MySQL:运行mysql-essential-6.0.11-alpha-win32,按“MySQL+6.0+Windows下安装图解”完成 ...

  8. 远程连接mysql数据库

    远程连接mysql数据库需要以下步骤(改表法): 1.数据源(数据库服务器)对要访问数据库进行授权: 2.本地库(本地)连接: 具体方法: 1. 进入数据服务器,输入cmd进入控制台:输入 mysql ...

  9. 在远程连接mysql数据库出现问题怎么办

    远程连接mysql数据库报“Communications link failure...”错误 今天在用myEclipse连接时提示:Communications link failure,Last ...

随机推荐

  1. matlab中diff的用法

    若是diff(),括号里的元素为向量,那么前一个减后一个即为diff后的结果: 若diff(),括号里的元素为矩阵,那么下一行减上一行即为diff 后的结果:

  2. Problem A: 编写函数:三个数的最大最小值

    Description 给出三个数a,b,c,最大值是?最小值是? ------------------------------------------------------------------ ...

  3. Linux文件系统命令 lsof

    命令名:lsof 功能:查看某个端口被占用情况,在配置服务器端口的时候,为了避免冲突,可以通过这个命令查看将要被使用的端口是否被占用. 用法:加-i 参数 eg: renjg@renjg-HP-Com ...

  4. Array.apply(null, {length: 20})和Array(20)的理解

    话说今晚在学习Vue.js教程里:Render函数,这一章节是发现了一个问题,就是利用下面的这个render函数可以渲染20个重复的段落: render: function (createElemen ...

  5. rman备份恢复命令之switch

    rman备份恢复命令之switch 一 switch 命令 1 switch命令用途 更新数据文件名为rman下镜像拷贝时指定的数据文件名 更新数据文件名为 set newname 命令指定的名字. ...

  6. PHPexcel 导入import 数据到 mysql: mysql 查询数据是否存在, 如果存在返回id, 不存在, 插入返回id. 2) mysql_query , mysql_connect, mysql_select_db, mysql_error, mysql_num_rows,mysql_close

    一: 要求: 上面的图表 中的数据插入到 3张表中. 1)t_vide_warehourse 分类表: 此表中包含 一级分类 和二级分类.  二级分类是一级分类的子级. 2)t_video_info  ...

  7. 句柄线程做参数和PostMessage的用法

    当我们启动一个线程,并且要给线程函数传递的参数是窗口句柄时,我们应该这样做: HWND hHwnd = GetSafeHwnd(); HANDLE hThread; DWORd dwThreadId; ...

  8. C# 解压

    需要ICSharpCode.SharpZipLib.dll 网上有很多 先添加文件引用 再添加引用 using ICSharpCode.SharpZipLib.Zip; #region 解压 /// ...

  9. puppet替换文件中的string

    文件 <VirtualHost :80> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.) https://%{SERVE ...

  10. Spring的PropertyPlaceholderConfigurer

    在项目中我们一般将配置信息(如数据库的配置信息)配置在一个properties文件中,如下: jdbcUrl=jdbc:mysql://localhost:3306/flowable?useUnico ...