大家都知道报这个错的原因是忘了用户名前加-u这个参数造成的,比如是这样登录了MySQL

# mysql -root -p (注意看,-root前面没有加u)

登录后,不管你执行什么命令,都会提示Ignoring query to other database

mysql>show databases;

Ignoring query to other database

要解决这个问题,我们只要加上-u这个参数就可以了。

# mysql –uroot -p

网上很多都写到这里为止了,但并没有去分析为什么没有加-u也能登录成功,为什么登录成功后执行sql语句会报错。

这里我就给大家分析一下为什么会这样的真正原因。

这是因为当执行 “mysql -root -p ”这个不带有-u的命令时,mysql命令把-root识别成了它的参数,而不是root这个用户。并且把root这个词识别成了四个参数,拆开来就是“-r -o -o -t”。

当不带有-u参数时,默认就是以root用户登录的。

所以当没有带-u参数时,整个命令其实是这样的:

#mysql -r -o -o -t -p -uroot //其中-uroot是隐式带上的

所以虽然没有带上-u参数,是可以登录成功的,而登录成功后,报错,是因为有-o这个参数造成的。

我们看看-o这个参数的解释:

-o,–one-database

Ignore statements except those that occur while the default database is the one named on the command line. This option is rudimentary and should be used with care. Statement filtering is based only on USE statements.

翻译过来就是,当带上-o参数时,会忽略sql语句,但如果在-o参数后面带上某数据库名,这个数据库可以排除在外,也就是这个数据库可以执行sql语句。

比如我们想登录数据库后,只能在mysql这个数据库执行命令sql命令,在其它数据库中都执行不了sql命令

# mysql -o mysql -p

mysql> use test

Database changed

mysql> show tables;

Ignoring query to other database

mysql> use mysql

Database changed

mysql> show tables;

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

| Tables_in_mysql |

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

| columns_priv |

| db |

| event |

| func |

| general_log |

| help_category |

| help_keyword |

| help_relation |

| help_topic |

| host |

| ndb_binlog_index |

| plugin |

| proc |

| procs_priv |

| proxies_priv |

| servers |

| slow_log |

| tables_priv |

| time_zone |

| time_zone_leap_second |

| time_zone_name |

| time_zone_transition |

| time_zone_transition_type |

| user |

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

24 rows in set (0.00 sec)

mysql> select * from test.test1;

+------+

| id |

+------+

| 1 |

+------+

1 row in set (0.00 sec)

mysql> use test

Database changed

mysql> select * from mysql.user;

Ignoring query to other database

mysql>

可以看出,当使用use切换到mysql数据库,就可以执行sql命令,当使用use切换到别的数据库下,就执行不了,会报错。

知道这个-o参数的作用后,我们就知道为什么前面登录后执行命令会报错了。

mysql bingip,MySQL报错Ignoring query to other database的真正原因相关推荐

  1. mysql中show databases显示Ignoring query to other database

    情景:使用show databases;显示当前mysql数据库的信息是,报了Ignoring query to other database,看不到其他数据库信息如下: 原因:mysql -root ...

  2. mysql登录报错error1045,mysql创建登录报错ERROR1045(28000)

    .如下图(第四个): 而本人创建的用户为: Mysql> grant  all  on  itcase.*  to  'test'@'%'  identified  by  '123456'; ...

  3. 解决mysql 修改密码报错

    解决mysql 修改密码报错 在搜索了许多方法后仍有报错,今特与大家分享,如有不足之处,请指正. 报错信息如下: ERROR 1064 (42000): You have an error in yo ...

  4. kettle使用mysql作为资源库报错 创建资源库时只有25张表,原本应该46张表。

    kettle使用mysql作为资源库报错 创建资源库时只有25张表,原本应该46张表. 连用户表都没有 ,导致连 默认的 admin和guest都无法登陆自己的资源库!!!! 问题是 SQL语句里边使 ...

  5. mysql80版本连接 1251_解决Navicat Premium 连接 MySQL 8.0 报错1251的问题分析

    人闲太久,努力一下就以为是在拼命. 一.问题 Navicat Premium 连接 MySQL 8.0 报错: 1251 - Client does not support authenticatio ...

  6. mysql安装教程博音网_RTSP视频平台EasyNVR使用mysql数据源启动报错unknow drivermysql优化...

    原标题:RTSP视频平台EasyNVR使用mysql数据源启动报错unknow driver"mysql"优化 我们上一篇讲了TSINGSEE青犀视频开发的视频平台默认都是使用的s ...

  7. mysql表恢复报错binlog_mysql数据恢复,利用binlog2sql快速闪回

    一.环境设置 1.mysql配置中首先要开启binlog,如没开启,在my.conf 下配置如下参数: server-id = 1 log_bin = /var/log/mysql/mysql-bin ...

  8. mysql source导入报错ERROR 1366的解决方法

    mysql source导入报错ERROR 1366的解决方法 参考文章: (1)mysql source导入报错ERROR 1366的解决方法 (2)https://www.cnblogs.com/ ...

  9. mysql group by 报错 ,only_full_group_by 三种解决方案

    mysql group by 报错 ,only_full_group_by 三种解决方案 参考文章: (1)mysql group by 报错 ,only_full_group_by 三种解决方案 ( ...

最新文章

  1. 05CSS的引入方式
  2. NetDevOps — NETCONF 协议
  3. 开启Windows7多用户远程桌面
  4. 鸿合一体机触屏没反应怎么办_无线鼠标没反应,我来教您无线鼠标没反应怎么办?...
  5. python wmi_python wmi模块学习
  6. 思科路由器的基本设置(主机名,密码)
  7. Sublime text 2下alignment插件无效的解决办法
  8. 哈维玛德学院 计算机,哈维玛德学院优势多多,令人神往!
  9. Ubantu install jdk
  10. Android APK反编译步骤
  11. php小程序 b支付回调视频教程,Laravel教程: 3分钟实现小程序微信支付接入(下)——回调发货逻辑...
  12. 5.8. tensorflow2实现SVD推荐系统——python实战 (下篇)
  13. 【Flutter】Dart的方法与箭头函数
  14. [CTO札记]李彦宏:《领导者的心态——Best of the best》
  15. opencv-python学习一--人脸检测
  16. graphpad prism图标设置_科研绘图软件-Graphpad prism使用教程(六)
  17. 如何计算 R 中 F 统计量的 P 值
  18. 虚拟机ubuntu16.04下cheese 摄像头黑屏花屏问题
  19. win7上的截图小工具
  20. Proximity sensor---Px318J

热门文章

  1. java中集合的区别_Java中的集合与集合之间的区别
  2. 计算机网络职称可以免考么,谁知道四川职称计算机考试的免考条件啊,我要去评职称,但不想去考职? 爱问知识人...
  3. SQL语言之DQL语言学习(十一)分页查询
  4. 仿射密码介绍以及解题脚本
  5. python中的闭包与装饰器教程
  6. Python面向对象中:__init__() 构造方法
  7. 30段极简Python代码:这些小技巧你都Get了么?
  8. include 路由 php,PHP简单路由
  9. web.xml隐藏html,web.xml
  10. qt creator 构建(build) 执行cmake 部署的区别?(未解决)