今天重装一服务器,发现新添加的mysql账户无法登录。研究后发现通过 grant 新建的账户区分本地口令及远程口令。
系统环境:CentOS 5.4, MySql 5.0.77
grant all on *.* to t1@localhost identified by 'abc';
grant all on *.* to t1@'%' identified by 'abc';
上面两条命令新添加的mysql账户t1在控制台登录时无需口令(# mysql -u t1 ),使用口令登录被拒绝登录。当用ems/navicat连接时则必须使用 'abc'(无引号)作为口令。
当登录进mysql修改账户口令也同样如此,以下命令修改的是远程登录口令:
set password for t1 = password('aa');
所以当新建、修改mysql账户口令时需要注意这个区别:
grant all on *.* to t1@localhost identified by 'ab';
set password for t1@localhost = password('aa');
上面两条命令就可以对本地口令有效了。