当一个MySQL用户只能通过localhost登录到MySQL服务器,但是需要在开发电脑上访问该MySQL服务器时,如何进行操作呢?下面将为您详细介绍。
首先,如果不修改该MySQL用户的权限就直接尝试连接,会出现以下错误:
ERROR 1130 (HY000): Host '192.168.0.138' is not allowed to connect to this MySQL server
为了方便,可以通过以下步骤来修改用户名为“用户名”的MySQL用户权限,从而实现外网登录。
初始化环境时,创建一个只允许通过localhost登录的用户:
create user '用户名'@'localhost' IDENTIFIED BY '密码';
然后,可以给该用户分配适当的权限:
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'localhost' WITH GRANT OPTION;
最后,通过执行下面的语句,该用户就可以通过外网登录到MySQL服务器了:
RENAME USER '用户名'@'localhost' TO '用户名'@'%';
您还可以通过以下语句查看您的MySQL服务器有哪些用户,并检验是否成功修改了用户权限:
select Host, User from mysql.user;
需要注意的是,MySQL用户机制是以用户名和host来唯一标识一个用户的,因此在创建用户时需要提供’用户名’@’localhost’等类似的信息来唯一标识一个用户。同时,您也可以创建不同host但用户名相同的用户,例如root@%和root@localhost两个用户。