账号密码包含反斜线时如何办

原创
2016-06-07 14:51:39 819浏览

问: 假如密码中包含反斜线,该如何处理呢? 答: 在mysql中,反斜线"\"是有特殊意义的,用于转义,因此假如密码中包含"\",就须要特别留心。有一种一劳永逸的方法,就是在密码中不用反斜线,哈哈。另一种,那就是须要多加多个反斜线,例如: (root:hostname


  问: 假如 密码中包含反斜线,该如何 处理呢?
  答: 在mysql中,反斜线"\"是有特殊意义的,用于转义,因此假如 密码中包含"\",就须要 特别留心 。有一种一劳永逸的方法 ,就是在密码中不用反斜线,哈哈。另一种,那就是须要 多加多个 反斜线,例如:
(root:hostname:Thu Oct 15 09:15:38 2009)[mysql]> grant usage on *.* to yejr@localhost identified by 'ye\\\jr'; 
Query OK, 0 rows affected (0.02 sec) 
(root::Thu Oct 15 09:16:22 2009)[mysql]> select password('ye\jr'); 
+-------------------------------------------+ 
 password('ye\jr')              
+-------------------------------------------+ 
 *9DB91006131E32B22135599033C6A9C196EC3C6B  
+-------------------------------------------+ 
1 row in set (0.00 sec) 
(root::Thu Oct 15 09:23:32 2009)[mysql]> select host,user,password from user where user='yejr';     
+-----------+------+-------------------------------------------+ 
 host    user  password                  
+-----------+------+-------------------------------------------+ 
 localhost  yejr  *F06D79D5F57894772B64BF3164ABB714EBDBD3E2  
+-----------+------+-------------------------------------------+ 
1 row in set (0.01 sec) 
(root::Thu Oct 15 09:16:28 2009)[mysql]> select password('ye\\\jr'); 
+-------------------------------------------+ 
 password('ye\\\jr')             
+-------------------------------------------+ 
 *F06D79D5F57894772B64BF3164ABB714EBDBD3E2  
+-------------------------------------------+ 
1 row in set (0.01 sec) 
[@tc_10.11.54.224_cnc ~]# mysql -uyejr -p'ye\jr' 
Logging to file '/home/mysql/query.log' 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 63 
Server version: 5.x.x-percona-highperf-x-log MySQL Percona High Performance Edition (GPL) 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 
(yejr::Thu Oct 15 09:24:58 2009)[(none)]> Bye 

从上面的例子可以看到,假如 密码中有反斜线,就须要 在它前面再加2个反斜线。

  

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。