mysql check执行流程,MySQL client执行过程

由以下示例得出,客户端连接MySQL时执行语句包括如下过程:

1.认证

是否可以登录MySQL服务端。

2.语法分析

判断执行语句是否合法,无语句错误。

3.权限分析

判断执行语句,是否有对目标的相关权限。

4.语义分析

判断是否存在相应的表和字段

5.优化执行

优化器优化SQL语句后,执行并返回结果。

1)mysql -utest -h127.0.0.1 -p -P3306 -perror

Warning: Using a password on the command line interface can be insecure.

ERROR 1045 (28000): Access denied for user 'test'@'127.0.0.1' (using password: YES)

mysql> show grants;

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

| Grants for test@127.0.0.1 |

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

| GRANT USAGE ON *.* TO 'test'@'127.0.0.1' IDENTIFIED BY PASSWORD |

| GRANT SELECT ON `test`.* TO 'test'@'127.0.0.1' |

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

2 rows in set (0.00 sec)

mysql>

mysql>

2)

mysql> select *** from test.t;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '** from test.t' at line 1

mysql>

3)

mysql> select * from a.t;

ERROR 1142 (42000): SELECT command denied to user 'test'@'127.0.0.1' for table 't'

mysql>

mysql>

4)

mysql> select * from test.t;

ERROR 1146 (42S02): Table 'test.t' doesn't exist

mysql>

mysql>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值