dau*_*d47 6 mysql ubuntu amazon-web-services amazon-lightsail
我正在 AWS Lightsail 上设置一台新服务器,一切都很好,但在我的 LEMP 堆栈中,我安装了 MySql 并创建了我的数据库。由于某种原因,我无法通过我的数据库客户端(使用 TablePlus)远程访问该数据库。
在过去使用 Vultr 或 Digital Ocean 服务器时,我必须将 IP 地址添加到文件中etc/mysql/mysql.conf.d/mysqld.cnf,如下所示:
# bind-address = 127.0.0.1
bind-address = 34.xxx.xxx.xxx
Run Code Online (Sandbox Code Playgroud)
这将允许我使用我的数据库用户名登录并传递我创建的密码。
AWS Lightsail 不允许这样做吗?他们有一个创建数据库实例服务,他们希望您购买,但试图保持便宜,并且只需要我在服务器中构建的数据库。
任何有关如何远程连接数据库客户端的帮助将非常感激。
使用 Ubuntu 18.04 LTS
所以我想通了。如果有人遇到此问题,请尝试以下操作。
AWS Lightsail 为您提供 2 个 IP
在您的etc/mysql/mysql.conf.d/mysqld.cnf文件中执行以下操作:
# bind-address = 127.0.0.1 (Disable this)
# bind-address = 34.xxx.xxx.xxx (Don't use Static IP)
bind-address = 172.xx.xx.xx (Use Private IP)
Run Code Online (Sandbox Code Playgroud)
在 AWS Lightsail 防火墙中添加MySQL/Aurora | TCP | 3306
在服务器上运行以下命令:
sudo service mysql stop
sudo service mysql start
Run Code Online (Sandbox Code Playgroud)
连接数据库客户端:
就是这样。现在一切都应该可以了。
如下所述,您确实需要创建一个新的 MySql 用户。你可以这样做:
mysql -u root -p'' (Login to MySql with the credentials you used to create MySql, -u might be different)
Run Code Online (Sandbox Code Playgroud)
2.
CREATE USER 'admin'@'34.xxx.xxx.xxx' IDENTIFIED BY 'your_new_pass_here';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'34.xxx.xxx.xxx' IDENTIFIED BY 'your_new_pass_here';
CREATE USER 'admin'@'%' IDENTIFIED BY 'your_new_pass_here';
GRANT ALL PRIVILEGES ON *.* TO 'admin' IDENTIFIED BY 'your_new_pass_here';
Run Code Online (Sandbox Code Playgroud)
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
要使数据库远程工作,请转到/etc/mysql/mysql.conf/mysqld.cnf并更改绑定地址:
# bind-address = 127.0.0.1 (Disable this)
# bind-address = 34.xxx.xxx.xxx (Don't use Static IP)
bind-address = 172.xx.xx.xx (Use Private IP)
Run Code Online (Sandbox Code Playgroud)
service mysql restart
(如果使用 Laravel,则添加到新的 .env)
DB_CONNECTION=mysql
DB_HOST=34.xxx.xxx.xxx
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=admin
DB_PASSWORD=your_new_pass_here
Run Code Online (Sandbox Code Playgroud)
如果您需要获取 MySql 用户的列表,请执行以下操作:
SELECT User FROM mysql.user;
有助于仔细检查您的新用户是否在系统中。
| 归档时间: |
|
| 查看次数: |
5388 次 |
| 最近记录: |