1、ERROR 1130: Host 'xxx' is not allowed to connect to this MySQL server
远程连接mysql服务器报上述错误。
解决方法:
1.改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.40.54' IDENTIFIED BY '123456' WITH GRANT OPTION;
授权后记得刷新:flush privileges;
来源: <http://chen3888015.blog.51cto.com/2693016/986841>

2、ERROR 2019 (HY000): Can't initialize character set gbk (path: /usr/local/mysql/share/charsets/)
搜索一下,使用“mysql --default-character-set=utf8 -u mysql -p ”可以连接上mysql。
但是navicate for mysql仍然是不能够连接上去。
另外,每次使用 “mysql --default-character-set=utf8 -u mysql -p ”登录,也比较麻烦。
经过搜索,发现通过修改my.cnf,指定mysql和mysqld的编码,可以解决问题。如下是mysql和mysqld两个section添加的内容,亲测有效,问题迎刃而解:
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8

3、ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
遇到这个问题时,我是可以通过lampp提供的phpMyadmin连接到mysql数据库的。所以很奇怪为什么不能在mysql服务器上登录。
下面是解决思路,可供参考:
先检查了自己的my.cnf。我发现我的mysql.sock是”socket          = /opt/lampp/var/mysql/mysql.sock“,所以,很奇怪,为什么报错是”/var/lib/mysql/mysql.sock“。
所以试着使用my.cnf设置的mysql.sock连接mysql,命令如下:
  1. mysql -u root -p -S /opt/lampp/var/mysql/mysql.sock

输入密码,OK,可以成功连上。
现在再来寻找为何通过命令”mysql -u root -p“不能连接上mysql的原因:
再检查是否有”/var/lib/mysql/mysql.sock“这个文件。发现没有这个文件。
那是否是因为mysql命令没有指定-S选项时,使用了默认的设置?我猜想默认设置可能是尝试从”/var/lib/mysql/mysql.sock“连接mysql服务器。
通过观察my.cnf文件,修改了[mysql]这一节的内容,添加了”socket          = /opt/lampp/var/mysql/mysql.sock“,然后重启mysql,再度使用”mysql -u root -p“重连。
无效,仍然报同样的错误。于是返回去把刚刚添加这行删除。
那么通过软链接创建一个可以么?试试。命令:

  1. ln -s /opt/lampp/var/mysql/mysql.sock /var/lib/mysql/mysql.sock

OK,问题解决。可以通过”mysql -u root -p"链接到mysql服务器了。
 

4、访问lampp的时phpMyadmin弹出非法设置
可能是mysql设置的密码和phpMyadmin设置的密码不一致。
4.1 首先修改mysql的密码
  1. ./mysqladmin -u root password "newpassword"
4.2 修改phpMyadmin密码
修改root的密码与mysql中设置的一致。
cd /opt/lampp/phpmyadmin
vi config.inc.php
  1. /* Authentication type and info */
  2. $cfg['Servers'][$i]['auth_type'] = 'config';
  3. $cfg['Servers'][$i]['user'] = 'root';
  4. $cfg['Servers'][$i]['password'] = 'root';
再次访问:http://192.168.198.128/phpmyadmin/,发现已能够正常访问了。

5、ERROR 1044 (42000): Access denied for user 'mysql'@'localhost' to database 'mysql'
上述错误说明用户mysql没有权限访问mysql服务器的mysql库。


6、ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
原因:多半是用户密码不正确造成的。
方法1:使用已有账号登录mysql重置其他账号的密码。
  1. mysql> update mysql.user set Password=PASSWORD('root') where mysql.user.User='root';
如果你有一个具有修改密码权限的用户时,比如root,则上述命令会执行成功。否则,会返回下述错误信息:
ERROR 1142 (42000): UPDATE command denied to user 'mysql'@'localhost' for table 'user'

方法2:通过mysqld_safe重置密码。
方法1不好用的话,可以试试mysqld_safe重置密码。
下面以重置root用户的密码为例,说明重置步骤。首先停掉mysql服务,然后依次执行:
[root@MasterRedis tmp]mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('root') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
[root@MasterRedis tmp]# service mysql restart
[root@MasterRedis tmp]# mysql -u root -p
执行mysql -u root -p时,在弹出“Enter password:”提示后,输入刚刚设置的密码。OK,登录进入mysql了。

下面是输出,注意在界面上打印出
080309 06:18:19 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
后,输入命令mysql -u root mysql。
  1. [root@MasterRedis tmp]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
  2. [1] 16202
  3. [root@MasterRedis tmp]# 080309 06:18:19 mysqld_safe Logging to '/usr/local/mysql/err.log'.
  4. 080309 06:18:19 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
  5. mysql -u root mysql
  6. Welcome to the MySQL monitor. Commands end with ; or \g.
  7. Your MySQL connection id is 1
  8. Server version: 5.5.12-log Source distribution
  9. Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
  10. Oracle is a registered trademark of Oracle Corporation and/or its
  11. affiliates. Other names may be trademarks of their respective
  12. owners.
  13. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  14. mysql> UPDATE user SET Password=PASSWORD('root') where USER='root';
  15. Query OK, 5 rows affected (0.03 sec)
  16. Rows matched: 5 Changed: 5 Warnings: 0
  17. mysql> FLUSH PRIVILEGES;
  18. Query OK, 0 rows affected (0.00 sec)
  19. mysql> quit
  20. Bye
  21. [root@MasterRedis tmp]# service mysql restart
  22. Shutting down MySQL.080309 06:19:27 mysqld_safe mysqld from pid file /usr/local/mysql/data/MasterRedis.pid ended
  23. [确定]
  24. Starting MySQL.[确定]
  25. [1]+ Done mysqld_safe --user=mysql --skip-grant-tables --skip-networking
  26. [root@MasterRedis tmp]# mysql -u root -p
    Enter password:

MySQL-FAQ的更多相关文章

  1. [MySQL FAQ]系列 — 为什么InnoDB表要建议用自增列做主键

    我们先了解下InnoDB引擎表的一些关键特征: InnoDB引擎表是基于B+树的索引组织表(IOT): 每个表都需要有一个聚集索引(clustered index): 所有的行记录都存储在B+树的叶子 ...

  2. [MySQL FAQ]系列 — processlist中哪些状态要引起关注 解决mysql cpu过高问题

    show processlist; 一般而言,我们在processlist结果中如果经常能看到某些SQL的话,至少可以说明这些SQL的频率很高,通常需要对这些SQL进行进一步优化. 今天我们要说的是, ...

  3. [MySQL FAQ]系列 — EXPLAIN结果中哪些信息要引起关注

    我们使用EXPLAIN解析SQL执行计划时,如果有下面几种情况,就需要特别关注下了: 首先看下 type 这列的结果,如果有类型是 ALL 时,表示预计会进行全表扫描(full table scan) ...

  4. [转发] 老叶观点:MySQL开发规范之我见

    原文: http://imysql.com/2015/07/23/something-important-about-mysql-design-reference.shtml 老叶观点:MySQL开发 ...

  5. 老叶观点:MySQL开发规范之我见

    来源:http://ourmysql.com/archives/1396 大多数MySQL规范在网上也都能找得到相关的分享,在这里要分享的是老叶个人认为比较重要的,或者容易被忽视的,以及容易被混淆的一 ...

  6. 业界最具影响力MySQL精品文章荟萃(300篇)

    MySQL是一种关联数据库管理系统,SQL语言是用于访问数据库的最常用标准化语言.本文档收集的资料有MySQL数据库备份与恢复,配置,解决方案等,供大家方便统一阅读. 博客专题 1     MySQL ...

  7. MySQL 出现 The table is full 的解决方法【转】

    [MySQL FAQ]系列 — 你所不知的table is full那些事 时间 2014-08-21 12:18:56  MySQL中文网 原文  http://imysql.com/2014/08 ...

  8. db mysql / mysql cluster 5.7.19 / my.cnf / max_binlog_cache_size / binlog

    s mysql修改binlog保存的天数 https://blog.csdn.net/Hu_wen/article/details/80582013 查看binlog过期时间,设置的时间为90天,这个 ...

  9. 老叶观点:MySQL开发规范之我见(更新版)

    转自:http://mp.weixin.qq.com/s?__biz=MjM5NzAzMTY4NQ==&mid=207239419&idx=2&sn=bddbe0a657758 ...

  10. mysql 优化下

    比较全面的MySQL优化参考(下篇) 8条回复 本文整理了一些MySQL的通用优化方法,做个简单的总结分享,旨在帮助那些没有专职MySQL DBA的企业做好基本的优化工作,至于具体的SQL优化,大部分 ...

随机推荐

  1. 【shell脚本实例】一个恶作剧—— kill掉占用CPU较高的matlab进程

    我们实验室有台服务器,博士们在服务器上跑MATLAB,基本都是4核都是超过95%的CPU占用,想了个恶作剧的shell 定时kill掉MATLAB程序,是不是很邪恶啊,哈哈~~~  不过我只是干过一次 ...

  2. 刨根究底字符编码之五——简体汉字编码方案(GB2312、GBK、GB18030、GB13000)以及全角、半角、CJK

    简体汉字编码方案(GB2312.GBK.GB18030.GB13000)以及全角.半角.CJK   一.概述 1. 英文字母再加一些其他标点字符之类的也不会超过256个,用一个字节来表示一个字符就足够 ...

  3. Redis数据类型之Hash(二)

    前言: Redis hash是一个String类型的field和value的映射表.添加.删除操作复杂度平均为O(1),为什么是平均呢?因为Hash的内部结构包含zipmap和hash两种.hash特 ...

  4. os模块学习小随笔

    os模块为python解释器与操作系统交互的接口 os.popen()   -------Open a pipe to or from command. The return value is an ...

  5. (转)关于 Java 对象序列化您不知道的 5 件事

    关于 Java 对象序列化您不知道的 5 件事 转自:http://developer.51cto.com/art/201506/479979.htm 数年前,当和一个软件团队一起用 Java 语言编 ...

  6. node.js零基础详细教程(7):node.js操作mongodb,及操作方法的封装

    第七章 建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑. ...

  7. ecshop和jQuery冲突

    这个问题看ecshop的论坛里有很多帖子,解决方案就好几种,但是有几个标注完美解决方案的需要更改很多文件,对于我们这种初学者出现了问题的话是不知道怎么调试的. 找到一个很简单的解决方案,论坛里说只能解 ...

  8. android网页分享到朋友圈问题求助?

    目前想要实现通过QQ将网页分享到微信好友或朋友圈,看见有些APP是直接分享出去左下角图标显示的是QQ.求助各位大牛提供下思路. 这种功能是怎么实现的.应该不是通过android的系统分享实现的吧?.查 ...

  9. java wait 和notify

    这几天自己学习了一下线程的知识,wait 方法使当前的线程等待,notify 方法 唤醒当前的线程的方法 th 线程在5的时候进行wait,此时主线程继续执行, 主线程执行到9的时候 唤醒 th 线程 ...

  10. 30岁程序员的选择,一线OR二线?

    作为一个30刚出头的IT行业从业者,先介绍下我自己的情况.虽然不具有代表性,但是也可以作为一个参考.本人08年本科毕业于一所还算不错的211大学计算机专业(04年去的时候综合排名38,毕业走时排名45 ...