在Linux上的MySQL数据库中授权远程登录,需要执行以下步骤:
-
登录到MySQL服务器:
mysql -u root -p
创建远程用户或更新用户信息(替换your_username
和your_password
为实际的用户名和密码):
CREATE USER 'your_username'@'%' IDENTIFIED BY 'your_password';
或者如果用户已存在,更新其密码:
ALTER USER 'your_username'@'%' IDENTIFIED BY 'your_password';
2.授权远程访问权限
GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'%' WITH GRANT OPTION;
3.刷新权限使变更生效:
FLUSH PRIVILEGES;
4.退出MySQL:
EXIT;
第一个*是数据库,可以改成允许访问的数据库名称
第二个* 是数据库的表名称,代表允许访问任意的表
root代表远程登录使用的用户名,可以自定义
%代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了
flush privileges;这是让权限立即生效
注意:GRANT ALL PRIVILEGES ON *.*
授予用户对所有数据库的所有权限。您可以根据需要调整权限范围。
确保您的MySQL服务器配置文件(通常是/etc/mysql/my.cnf
或/etc/mysql/mysql.conf.d/mysqld.cnf
)中的bind-address
参数被设置为0.0.0.0
或者注释掉,以允许外部连接。
[mysqld]
bind-address = 0.0.0.0
重启MySQL服务以应用更改:
sudo systemctl restart mysql