Ubuntu 服务器安装 MySQL 远程数据库的方法
目录
- 在 Ubuntu 上安装 MySQL
- 开启远程连接权限
- 编辑 MySQL 配置文件
- 创建 MySQL 用户
- 远程连接 MySQL 数据库
- 命令行远程访问
- Jetbrains 家族 Database 连接
在 Web 项目中,我们需要使用到远程数据库,开发阶段也需要连接并查看数据库的状况。腾讯云、阿里云等云平台提供了远程数据库,可直接使用;当然也可以自己在部署 Web 的服务器上安装数据库,将其配置为远程数据库,供 Web 应用使用。
本篇介绍如何在 Linux 服务器上安装 MySQL 数据库,并设置为可远程连接。
在 Ubuntu 上安装 MySQL
为安装最新版本的 MySQL,我们可以先更新一下 apt 管理的资源包。
以 sudo 用户身份登录,执行以下命令:
sudo apt update
待更新完毕后,输入以下命令,安装 MySQL:
sudo apt install mysql-server
安装完成后,MySQL 服务会自动启动。想验证 MySQL 正在运行,输入:
sudo systemctl status mysql
输出如下图,即表示已启动。
开启远程连接权限
编辑 MySQL 配置文件
默认情况下,MySQL 数据库仅监听本地连接。若想允许远程连接数据库,首先需要修改配置文件,让 MySQL 可以监听远程固定 IP 或所有远程 IP。
配置文件 mysqld.cnf
路径一般为 /etc/mysql/mysql.conf.d/mysqld.cnf
。
输入以下命令打开编辑:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address
一行,默认该值为 127.0.0.1,仅监听本地连接。我们将其改为远程连接 IP 可访问,可以使用通配符 IP 地址 0.0.0.0
,也可以是固定 IP,仅允许指定 IP 连接。这里我修改为 0.0.0.0
,允许所有 IP 地址访问。
在某些 MySQL 版本的配置文件中,没有
bind-address
一行,在如上图的合适位置上添加即可。
更改后,保存并退出编辑器(使用 Ctrl+X 保存并退出)。后重启 MySQL 服务,使新配置生效。
sudo systemctl restart mysql
创建 MySQL 用户
以 sudo 权限进入 MySQL 服务:
sudo mysql
进入 MySQL 后,创建一个可远程连接 MySQL 的用户,并设置为使用密码作为认证方式。
CREATE USER 'zewan'@'%' IDENTIFIED WITH mysql_native_password BY 'zewan1234';
上述命令中,%
表示 IP 任意,@
前的用户名和 BY
后面的密码修改为自己的信息。
执行完毕后,使用下列命令可以查看到所有的 user,包括我们新建的:
SELECT DISTINCT CONCAT('User: ''', user, '''@''', host, ''';') AS quert FROM mysql.user;
接下来,我们赋予该用户拥有所有数据库的访问权限,使其成为新的独立管理用户:
GRANT ALL PRIVILEGES ON *.* TO 'zewan'@'%' WITH GRANT OPTION;
最后,刷新 MySQL 系统权限相关表,更新缓存,并退出 MySQL。
FLUSH PRIVILEGES; EXIT;
远程连接 MySQL 数据库
命令行远程访问
命令格式如下:
mysql -u <username> -h <mysql_server_ip> -p
Jetbrains 家族 Database 连接
在 IDEA、Pycharm 等软件中,内置 Database 访问插件,具备可视化数据库表的功能,一般在右侧任务栏点击展开。
点击加号,选择 MySQL 作为 Data Source。
在弹出框中,填入远程数据库IP(Host)、用户名(User)、密码(Password),后点击 Test connection 尝试连接。出现下图成功标识,即表示可成功连接数据库,随后点击应用(Apply)即可。
随后,软件中会出现 console,我们可以在这里输入 MySQL 语句并点击绿色启动按钮执行命令,同时可双击右侧弹出栏中的数据库表,查看信息。
附上 MySQL 创建数据库,并指定编码 UTF8 的命令:
CREATE DATABASE `mydb` CHARACTER SET utf8 COLLATE utf8_general_ci;
到此这篇关于Ubuntu 服务器安装 MySQL 远程数据库的文章就介绍到这了,更多相关Ubuntu 安装 MySQL远程数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!