使用 Ubuntu 连接远程 MySQL 服务器的不同方法
在本文中我们将学习如何使用 Ubuntu 连接远程 MySQL 服务器来操作数据以及启动和停止 MySQL 服务器。
使用 Ubuntu 连接远程 MySQL 服务器的不同方法
- 从 Ubuntu 20.04 客户端机器到 Ubuntu 20.04 服务器机器进行数据操作
- 从 Ubuntu 20.04 客户端计算机到 Ubuntu 20.04 服务器计算机以停止/启动 MySQL 服务器
从 Ubuntu 20.04 客户端计算机连接到 Ubuntu 20.04 服务器计算机以进行数据操作
用自定义用户连接
在这里,我们将学习如何连接驻留在远程 MySQL 服务器中的自定义用户。 我们在远程 MySQL 服务器中创建了一个名为 mehvish 的用户,并授予了所有权限。
mysql> CREATE USER "mehvish"@"%" IDENTIFIED BY "PASSWORD";
#here % sign shows that this user can be connected remotely
要连接到远程 MySQL 服务器,我们必须在我们的机器上安装 mysql-client。 在 Microsoft Windows 10 中,mysql-client 在安装 MySQL 服务器时会自动安装。
您可以按照本文在客户端机器上安装 MySQL。
要建立远程连接,我们需要托管 MySQL 服务器的主机的 IP 地址、用户名和该特定用户帐户的密码。 要检索该 IP 地址,我们在 MySQL 服务器所在的 Ubuntu 上使用 ip a 或 ifconfig 命令。
一旦我们知道了 IP 地址、用户名和密码,我们就可以使用以下命令连接到远程 MySQL 服务器。
# Syntax
# mysql -h hostIP -u username -p password
$ mysql -h 192.168.56.102 -u mehvish -p ******
如果您第一次尝试建立远程连接,您很可能会遇到以下错误。
ERROR 2003 (HY000): Can't connect to MySQL server on '10.0.2.15:3306' (10060)
为了摆脱这个错误,我们需要修改MySQL服务器上的配置文件。 我们使用 vim 文本编辑器来编辑配置文件,但您可以使用您的任何选择。
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
打开文件后,找到 [mysqld] 部分下的绑定地址,并按照以下屏幕截图对其进行评论。 我们为什么要评论绑定地址选项?
由于其默认行为,MySQL 服务器不允许远程连接; 它只允许本地主机连接到 MySQL 服务器。 这就是注释绑定地址并允许远程客户端计算机与 MySQL 服务器建立连接的原因。
或者,我们可以执行以下操作而不是对 bind_address 进行注释。
- 我们可以将 bind-address 的值从 127.0.0.1 更改为 0.0.0.0。
- 如果没有bind-address选项,我们可以写skip-networking和skip-bind-address。
我们可以使用以下选项使用 vim 文本编辑器编辑和保存配置文件。
- 按 I 编辑文件。
- 按 Esc 退出编辑模式。
- 按 Esc,键入 :w,然后按 Enter 键保存文件。
- 按 Esc,键入 :q,然后按 Enter 退出文件。
- 按 Esc,键入 :wq,然后按 Enter 一步保存并退出文件。
- 按 Esc,键入 :q!,然后按 Enter 以放弃所有更改退出文件。
我们必须在托管 MySQL 服务器的机器上按如下方式重新启动服务。
$ sudo systemctl restart mysql
现在,再次使用以下命令成功连接远程 MySQL 服务器中的 mehvish 用户帐户。 请记住,我们在本地计算机上使用以下查询。
$ mysql -h 192.168.56.102 -u mehvish -p ******
与 root 用户连接
在深入细节之前,让我们检查一下 root 用户是否接受远程连接。 我们可以在托管 MySQL 服务器的 Ubuntu 上使用以下命令。
mysql> SELECT USER, HOST from mysql.user;
输出:
您是否看到 root 用户只能从 localhost 连接? 我们必须通过使用以下命令远程连接它来授予远程访问权限。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
mysql> UPDATE mysql.user SET host='%' WHERE user='root';
此外,使用以下命令重新启动 MySQL 服务器。
$ sudo systemctl restart mysql
现在,检查 root 用户是否接受远程连接。 看到,服务器机器上root用户的host是%,说明我们可以远程连接root账号了。
现在,我们可以使用以下查询从本地计算机连接 root 用户来读取/写入数据。
$ mysql -h 192.168.56.102 -u root -p ******
如果我们想要启动、停止和重启 MySQL 服务器怎么办? 为此,我们必须在 MySQL 服务器的 shell 上,这意味着我们必须以在我们的机器上打开服务器 shell 的方式进行连接。
从 Ubuntu 20.04 客户端计算机连接到 Ubuntu 20.04 服务器计算机以启动、停止和重新启动服务器
我们必须按照给定的步骤使用安全外壳(也称为安全套接字外壳)连接远程服务器。
- 安装 ssh 以获得 shell 访问托管在 Ubuntu 机器上的 MySQL 服务器的权限。
-
现在,配置 ssh。 然后,打开主机(本地机器)上的终端,并写入正确的凭据以连接到远程服务器。
您可以根据自己的情况使用以下任何一种。
- 使用 ssh remote_host 命令。 当我们在远程和本地机器上拥有相同的用户名时,它是最直接和最常用的。
- 如果远程机器上的用户名与本地机器上的用户名不同,请使用 ssh remote_username@remote_host。 这将使您能够访问服务器计算机的 shell。
- 我们可以使用以下命令来按要求运行。
启动 MySQL 服务器:
$ sudo systemctl start mysql
停止 MySQL 服务器:
$ sudo systemctl stop mysql
重启 MySQL 服务器:
$ sudo systemctl restart mysql
检查MySQL服务器状态:
$ sudo systemctl status mysql
请记住,MySQL 服务器在您的端名为 mysqld,那么您可能必须使用如下命令。
$ sudo /etc/init.d/mysql restart
相关文章
使用 Mysqldump 备份 MySQL 中的数据
发布时间:2023/05/09 浏览次数:192 分类:MySQL
-
本篇文章将介绍如何使用 mysqldump 只备份数据。 在这里,我们将探讨 --no-create-info 、--compact 、--skip-triggers 和 --no-create-db 选项。
更新 MySQL 表中的主键
发布时间:2023/05/09 浏览次数:61 分类:MySQL
-
本篇文章介绍如何更新 MySQL 表中的主键。 我们将使用 ALTER 命令对主键进行任何更改。更新 MySQL 表中的主键 我们可以在多种情况下更新 MySQL 表中的主键。
在 MySQL 中获取命令历史记录
发布时间:2023/05/09 浏览次数:150 分类:MySQL
-
本文重点介绍了在 Windows 和 Linux 中获取我们已执行的 MySQL 命令历史记录的各种方法。MySQL命令历史
Oracle 的 decode 函数在 MySQL 中的等价物
发布时间:2023/05/09 浏览次数:115 分类:MySQL
-
本篇文章介绍了三种替代实现,我们可以将它们用作 MySQL 中 Oracle 的 decode() 函数的等价物。 为此,我们将使用 IF()、CASE 以及 FIELD() 和 ELT() 的组合。
在 Linux 中安装 MySQL 客户端
发布时间:2023/05/09 浏览次数:72 分类:MySQL
-
在 Linux 中安装 MySQL 客户端的命令。Linux 和 Unix 等环境作为命令行界面工作,仅在命令的帮助下运行。
在 MySQL 中转换为十进制
发布时间:2023/05/09 浏览次数:150 分类:MySQL
-
有时,我们可能需要将一种数据类型转换为另一种数据类型。 下面是我们如何使用带有 DECIMAL(M,D) 的 CAST() 和 CONVERT() 函数在 MySQL 中转换为十进制。
在 MySQL 中获取当前日期和时间
发布时间:2023/05/09 浏览次数:145 分类:MySQL
-
本篇文章我们将学习 NOW()、CURRENT_TIMESTAMP()(也写为 CURRENT_TIMESTAMP)和 SYSDATE() 来获取 MySQL 中的当前日期和时间。 我们还将看到这三个功能之间的比较。在 MySQL 中获取当前日期和时间
更改 MySQL 服务器中的 max_allowed_packet Size
发布时间:2023/05/09 浏览次数:142 分类:MySQL
-
本篇文章介绍如何更改 MySQL 服务器中的 max_allowed_packet 大小。 为了了解这一点,我们将使用两个操作系统,Windows 10 和 Linux (Ubuntu)。
MySQL 货币数据类型
发布时间:2023/05/09 浏览次数:192 分类:MySQL
-
本篇文章介绍最适合在 MySQL 中存储货币值的 DECIMAL(P,D) 数据类型。MySQL 货币数据类型 货币价值需要准确的表示。