在 Linux 上托管 MySQL 服务器
要在 Linux 上托管 MySQL 服务器,我们将遵循以下步骤:
- 设置一个 Linux 服务器来托管这个 MySQL。
- 在 MySQL 中配置我们的用户。
- 编写一些Python代码并尝试连接到该服务器。
我们需要的第一件事是 Linux 服务器,为此,我们使用Linode :
1.打开 Lincode,然后点击创建,然后点击 Lincode。
2.现在填写如下所示的详细信息:
images : Ubuntu 19.04
Linode Plan : Ninode 1 GB
Lincode Label : mysql-server
Reset Password : your_password
3.现在点击创建,创建后您的屏幕如下图所示:
4.现在我们要下载一个叫做PuTTY的程序 这将允许我们通过 SSH 连接到我们的服务器。一旦安装了 Putty,打开它并粘贴你的 Linux 服务器 IP 地址,如下所示:
5.点击Open ,如果你看到警告就按Ok ,
6.现在输入 route 作为登录名,密码将是我们创建的 root 密码,然后按Enter。
7.完成后,现在我们可以开始安装 MySQL 服务器了,所以我们要做的第一件事是安装 MySQL 并运行一些其他命令,如下所示:
sudo apt-get install mysql-server
8.询问时键入是。现在我们已经在服务器上成功安装了 MySQL,现在我们将对其进行配置,设置一些允许远程访问的东西,因为默认情况下 MySQL 是 localhost,这意味着您只能从服务器本地连接到它,这在大多数情况下都很好,因为有时我们会像 MySQL 服务器一样在与网站相同的机器上运行,在这种情况下,您只需要 localhost 访问,因为您在同一台机器上,因此您可以直接从网站修改数据库,但在我们的情况下,我们需要一个遥控器,所以我们将运行一些其他命令并打开 MySQL 的命令实用程序窗口,这将允许我们修改一些安全问题。
sudo mysql_secure_installation utility
9.现在这里要问我们一些问题,比如验证密码插件,它可以用来测试密码和提高安全性,我们希望它是安全的,所以我们将输入 Y 表示是并验证我们的密码,所以现在我们将输入密码的最小强度可以让我们登录,所以在我们的例子中,我们将输入0 低因为我们只想为此做一个基本密码,但你可以做强,这意味着每次创建新用户时都需要一个强密码,现在它会在我们的 MySQL 服务器之前要求一个 root 密码,我建议使用强密码,因为这个密码将用于像管理员一样登录MySQL 并在设置权限中进行修改,因此您不希望任何人意外进入这里。输入密码后,它将显示密码的估计强度,输入 Y 表示是,现在它说删除匿名用户我们按 Y。
现在它说root 应该只被允许从 localhost 连接,这确保有人无法从网络猜测 root 密码,所以我们也将点击是,这意味着你无法登录到 MySQL 服务器根服务器,除非你真的在我的机器上。然后它说删除测试数据库并访问它,我们将点击是,现在它说现在重新加载特权表,点击是。
10.现在我们已经准备好进入并实际创建一个用户并实际创建一个用户并更改一些内容,以便任何机器都可以看到这一点。现在我们必须在我们的机器上设置一个基本的防火墙。为此,请运行以下命令:
sudo ufw enable
11.现在运行下面提到的命令,它允许 MySQL 绕过这个防火墙并查看其他连接。
sudo ufw allow mysql
12.现在我们将设置 MySQL,它是现在的服务器绑定,以获取对该文件的访问权限。运行以下命令:
cd /etc/mysql/mysql.conf.d
13.现在我们将使用nano修改特定文件,现在我们需要的文件将是:
nano mysqld.cnf
14.输入上述命令后,您会看到类似这样的内容。
15.现在使用向下箭头键将光标移动到绑定地址,它的默认值是127.0.0.1这意味着这实际上是绑定到本地主机,这意味着只有本地主机是实际机器才能访问服务器我们显然不想构建从外部访问它,所以我们将它更改为0.0.0.0这意味着任何东西都可以访问这个服务器,所以它基本上绑定到服务器拥有的任何 IP 地址,这意味着我们可以访问它来自其他任何地方。现在用CTRL+S保存它,然后用CTRL+X退出。
16.现在我们将简单地设置一个我们可以实际用来访问数据库的用户,设置一个基本数据库,然后我们将从我们的Python代码进行连接。现在我们还想确保我们的 MySQL 服务器始终在服务器上运行,无论我们关闭它还是重新启动它。现在执行此操作的命令是:
sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl restart mysql
17.现在我们将转到 MySQL 设置并开始修改一些内容,为此运行以下命令:
mysql -u root -p
18.输入我们在实用程序中设置的密码。现在我们可以输入我们的 SQL 查询了。首先,我们将创建一个数据库
CREATE DATABASE test;
GRANT ALL ON test.* TO username@[Your IP Address] IDENTIFIED BY "PASSWORD";
GRANT ALL ON test.*将授予数据库 test 中所有表的所有权限。现在创建一个名为connect.py的Python文件:
Python3
# code
import mysql.connector
from datetime import date
import datetime
db = mysql.connector.connect(
host="172.105.24.35", # linode IP Address
user="divyansh", # username
passwd="StrongPassword1234*",
database="test",
)
mycursor = db.cursor()
mycursor.execute("SHOW TABLES")
print(mycursor.fetchone())
就是这样,现在你可以使用这个Python文件连接到 MySQL。