拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

MySQL创建远程登录账号

MySQL创建远程登录账号

版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

在Windows中使用Navicat连接Linux服务器中的MySQL时,除了保证3306端口能够正常访问,还需要使用允许远程登录的MySQL账号。本例创建devuser账号,并为该账号授予数据库操作权限。

登录MySQL

首先,在Linux服务器中使用MySQL的root账户登录数据库:

root@iZuf6b6jn2nrwa2q1kdxlcZ:~# mysql -u root

登录成功后,终端进入MySQL命令行环境,提示符变为:

mysql>

后续创建账号、授权和查询账号信息等操作均在MySQL命令行中完成。

创建账号

MySQL账号由用户名和允许登录的主机共同确定。创建账号的基本格式如下:

CREATEUSER'用户名'@'主机'IDENTIFIEDBY'密码';

本例创建用户名为devuser的账号,并将密码设置为123456:

mysql>CREATEUSER'devuser'@'%'IDENTIFIEDBY'123456';

其中,devuser表示用户名,%表示允许该账号从任意主机连接MySQL,IDENTIFIED BY用于设置账号密码。

执行结果如下:

Query OK, 0 rows affected (0.23 sec)

结果表明'devuser'@'%'账号已经创建成功。

授予账号权限

创建账号后,还需要为账号授予相应的数据库操作权限。本例执行以下命令:

mysql>GRANTALLPRIVILEGESON*.*TO'devuser'@'%';

其中,ALL PRIVILEGES表示授予全部可授予权限,*.*表示所有数据库中的所有表,'devuser'@'%'表示前面创建的账号。

执行结果如下:

Query OK, 0 rows affected (0.01 sec)

结果表明授权操作已经完成。

本例主要用于远程连接测试,因此为devuser授予了较大的权限范围。实际项目中应根据账号用途分配相应权限,避免授予不必要的数据库操作权限。

验证账号

完成账号创建和授权后,执行以下SQL语句查询devuser账号:

mysql>SELECTUser,HostFROMmysql.userWHEREUser='devuser';

执行结果如下:

+---------+------+ | User | Host | +---------+------+ | devuser | % | +---------+------+ 1 row in set (0.00 sec)

查询结果中的User为devuser,Host为%,表明MySQL中已经存在'devuser'@'%'账号,并允许该账号从任意主机发起连接。

完成以上配置后,可以在Navicat中使用ECS公网IP、3306端口、devuser用户名和对应密码连接MySQL。

总结

MySQL远程客户端除了能够连接服务器的3306端口,还需要使用相应的MySQL账号登录数据库。

本例使用CREATE USER创建'devuser'@'%'账号,通过IDENTIFIED BY设置账号密码,再使用GRANT授予数据库操作权限。最后查询mysql.user表,确认账号已经创建成功,并允许从远程主机连接MySQL。

返回列表