首先明白一个点:mysql 默认只能本地链接
方法:
在Ubuntu上配置远程连接MySQL需要进行以下步骤:
-
默认情况下,MySQL服务器只接受本地连接,你需要修改MySQL的配置文件以允许远程连接。使用以下命令编辑MySQL配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
-
在文件中找到
bind-address
行,注释掉该行或将其值更改为MySQL服务器所在的IP地址。例如,如果你希望允许所有IP地址连接,请将其设置为:#bind-address = 127.0.0.1 //把这行注释 或者 bind-address = 0.0.0.0
-
保存并关闭文件后,重新启动MySQL服务以使更改生效:
sudo systemctl restart mysql
-
方法一(创建新用户然后授权)你需要在MySQL服务器上创建一个允许远程连接的用户。使用以下命令登录MySQL控制台:
mysql -u root -p
-
输入MySQL的root用户密码并按回车键登录。
-
在MySQL控制台中,运行以下命令创建一个允许远程连接的用户并授予适当的权限:
GRANT ALL PRIVILEGES ON *.* TO '远程用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; FLUSH PRIVILEGES;
将
远程用户名
替换为你想要创建的用户名,将密码
替换为你想要设置的密码。 -
退出MySQL控制台:
exit
最终,exit退出,然后重启一下MySQL
exit sudo systemctl restart mysql
-
方法二(直接给root授权):
如果您仍然希望修改root用户的权限,请确保您理解可能带来的安全风险,并谨慎操作。以下是通过直接修改root用户权限的步骤:1、登录到MySQL控制台,使用以下命令:
mysql -u root -p
如果提示输入密码,请输入root用户的密码并按回车键。进入MySQL控制台后,使用以下命令修改root用户的权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
最终,exit退出,然后重启一下MySQL
exit sudo systemctl restart mysql