缘起
最近在学习使用SQL语言,主要是做LeetCode上的题目。但由于我是刚入门,对SQL数据库还不太熟悉,因此经常需要给自己写的SQL语句调试,这就需要一个可以连接的MySQL数据库。网上的教程大多都是在Windows系统下安装MySQL,但我平时的开发环境是在MacBook上用VSCode连接远程的Ubuntu服务器,因此我想在Ubuntu系统下安装MySQL,并且能够用VSCode remote连接MySQL数据库。
我在网上也看到了一些在Ubuntu下安装使用MySQL的教程,但大都比较陈旧,试了很多都有各种问题,最后经过踩坑和摸索,终于配置好了一个可以让自己用得比较舒服的MySQL开发测试环境,这里记录一下。
SQL简介
SQL(Structured Query Language)是结构化查询语言的缩写,是一种用于数据库操作的语言,是一种标准的数据库语言,用于访问和操作数据库系统。SQL语言可以用于访问和操作数据库中的数据,也可以用于创建和修改数据库中的表和视图。SQL语言是一种标准的数据库语言,不同的数据库系统都支持SQL语言,但是不同的数据库系统对SQL语言的支持程度不同,因此在使用SQL语言时需要注意数据库系统的差异。目前常用的数据库系统有MySQL、Oracle、SQL Server、PostgreSQL、SQLite等。
MySQL
MySQL是一个开源的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是最流行的关系型数据库管理系统之一,它的主要特点是速度快、安装方便、体积小、总体拥有成本低。MySQL有收费的商业版,但这里我们只是为了学习数据库知识,使用免费版就行了。如果需要商用且数据量极大,建议使用Oracle数据库,速度比MySQL快很多。
安装MySQL
在Ubuntu 22中安装MySQL非常简单,只需要在终端中运行以下命令即可:
|
|
更改MySQL账户设置
安装好之后,默认的账户只有超级用户才能访问,非常不方便。因此我们需要修改一下MySQL的账户设置,创建一个普通账户,然后使得我们可以使用VS Code从远程来连接这个数据库。
- 首先以超级用户身份登录MySQL:
1
sudo mysql -u root
- 创建一个新的MySQL账户:
这里的
1 2 3
CREATE User 'test'@'localhost' IDENTIFIED BY ''; GRANT ALL ON *.* TO 'test'@'localhost'; FLUSH PRIVILEGES;
test
是账户名,localhost
是允许访问的主机名,*.*
表示允许访问所有的数据库和表,WITH GRANT OPTION
表示允许这个账户创建新的账户。然后输入exit
退出MySQL。 注意:这里的密码为空。因为设置了密码后,也可以连接MySQL,但是在VS Code内运行SQL代码时有时会报错“ACCESS DENIED”,因此这里不设置密码。当然,有时候也能成功运行,我也没搞明白为啥。 - 这次以普通用户身份登录MySQL,指定用户名是
test
:然后运行下面的SQL语句,查看当前的用户信息:1
mysql -h 127.0.0.1 -P 3306 -u test
如果之前的操作都成功的话,应该会看到类似下面的输出:1
SELECT User, Host FROM mysql.user;
1 2 3 4 5 6 7 8 9 10 11
mysql> SELECT User,Host FROM mysql.user; +------------------+-----------+ | User | Host | +------------------+-----------+ | debian-sys-maint | localhost | | mysql.infoschema | localhost | | mysql.session | localhost | | mysql.sys | localhost | | test | localhost | +------------------+-----------+ 5 rows in set (0.01 sec)
VS Code
安装MySQL插件
能够用VSCode remote连接MySQL数据库,需要安装一个MySQL插件MySQL:
连接MySQL数据库
安装好插件之后,就可以连接MySQL数据库了。按照插件的使用指南连接MySQL数据库:
其中,Host
填写的是MySQL数据库所在的主机名,即127.0.0.1
,Port
填写的是MySQL数据库的端口号3306
,User
填写的是MySQL数据库的用户名test
,Password
填写的是MySQL数据库的密码。如果一切正常的话,就可以连接上MySQL数据库了。
调试SQL代码
连接好数据库后,新建一个后缀为.sql
的文件,然后在文件中输入SQL代码。文件头上会显示Active Connection
,表示已经成功连接到MySQL数据库了。
每行SQL代码前面也会有一个Execute
按钮,点击这个按钮就可以执行这一行的SQL代码了。点击侧边栏的插件按钮,也可以看到数据库中实时更新的内容: