MySQL或MariaDB数据库服务器可以用不同的方式进行管理。一般来说,GUI工具的提供是因为它们的易用性。但在某些情况下,连接和管理MySQL和MariaDB数据库服务器可能需要命令行连接。
为Ubuntu、Debian、Kali、Mint安装MySQL/MariaDB客户端
我们将首先在基于deb的发行版(如Ubuntu、Debian、Kali、Mint等)中安装MySQL/MariaDB命令行客户机 mysql-client
我们将与 apt
命令如下。
$ sudo apt install mysql-client

为Fedora、CentOS、RedHat安装MySQL/MariaDB客户端
在基于rpm的发行版(如Fedora、CentOS)中,可以使用下面的yum命令安装RedHat。另外,dnf也可以如下使用。
$ sudo dnf install community-mysql
或者
$ sudo yum install community-mysql

从命令行连接MySQL/MariaDB数据库
如果 MySQL/MariaDB数据库 安装在我们可以使用的本地系统上 mysql
连接工具。对于Ubuntu、Debian、Fedora、Mint、CentOS等Linux系统,我们可以使用MySQL命令和sudo命令。
$ sudo mysql
或用于Windows
> mysql

我们可以看到,当我们打开MySQL交互式shell时,提供了一些关于连接和MySQL数据库服务器的信息。到MySQL服务器的每个连接都有一个名为MySQL connection ID的ID。server Version指定MySQL服务器的版本。还提供了一些版权信息。h或help可用于获取有关MySQL交互式shell或命令行的帮助。c将清除当前的交互式shell页面或内容,并提供一个干净的命令行。
相关文章: 如何列出MySQL/MariaDB数据库?
从命令行连接指定用户名MySQL/MariaDB数据库
MySQL命令的默认行为是使用当前用户名。我们可以用 -u
选项和用户名。在本例中,我们将使用用户名root连接
$ sudo mysql -u root

从命令行连接指定用户名和密码的MySQL/MariaDB数据库
到目前为止,我们已经连接到本地MySQL/MariaDB数据库服务器,没有显式指定密码。如果我们想连接到一个远程数据库服务器,我们必须为给定的用户指定密码。我们还可以使用 -h
选项如下。
$ mysql -u root -h 192.168.142.144
在不连接远程MySQL/MariaDB数据库的情况下运行SQL
mysql命令提供了不同的特性,比如在不使用mysql shell的情况下远程运行SQL语句。我们可以用 -e
选项如下。
$ sudo mysql -u root -e "SELECT VERSION();"

从命令行显示数据库
如果我们想列出存储在MySQL/MariaDB数据库上的数据库,而不需要显式地连接它们并使用MySQL shell,那么我们可以使用 show databases;
命令如下。
$ sudo mysql -u root -e "show databases"

从命令行指定默认数据库
当我们使用命令行工具MySQL来连接和管理MySQL/MariaDB数据库时,我们需要指定默认的数据库名称才能运行SQL查询。我们将使用 use
语句,以指定SQL查询运行的默认数据库。
$ sudo mysql -u root -e "use sys;show tables;"

从远程MySQL/MariaDB数据库服务器上的命令行运行SQL脚本或SQL文件
SQL脚本和语句可以存储在SQL脚本文件中。我们可以运行这个脚本文件,而无需复制和粘贴,只需提供文件并重定向文件的内容。我们有以下SQL文件内容 sqlscript.sql脚本 .
select version();
show databases;
use sys;
select * from host_summary;
我们还必须将数据库名称指定为mysql命令的最后一个参数 sys
在这种情况下。
$ sudo mysql -u root sys < sqlscript.sql
