MySQLclient执行过程
由以下示例得出,客户端连接MySQL时执行语句包括如下过程:
1.认证
是否可以登录MySQL服务端。
2.语法分析
判断执行语句是否合法,无语句错误。
3.权限分析
判断执行语句,是否有对目标的相关权限。
4.语义分析
判断是否存在相应的表和字段
5.优化执行
优化器优化SQL语句后,执行并返回结果。创新互联公司长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为靖江企业提供专业的成都做网站、网站制作,靖江网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。
1)mysql -utest -h227.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>
文章名称:MySQLclient执行过程
分享链接:http://scyanting.com/article/gcdhgh.html