Ubuntu 服务器安装 MySQL 远程数据库

在 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

下图的输出表明它已启动。

[En]

The output of the following figure indicates that it has been started.

Ubuntu 服务器安装 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 地址访问。

Ubuntu 服务器安装 MySQL 远程数据库

在某些 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;

Ubuntu 服务器安装 MySQL 远程数据库

接下来,我们向用户授予对所有数据库的访问权限,使其成为新的独立管理用户:

[En]

Next, we give the user access to all databases, making him a new independent administrative user:

GRANT ALL PRIVILEGES ON *.* TO 'zewan'@'%' WITH GRANT OPTION;

最后,刷新 MySQL 系统权限相关表,更新缓存,并退出 MySQL。

FLUSH PRIVILEGES;
EXIT;

远程连接 MySQL 数据库

命令行远程访问

命令格式如下:

mysql -u  -h  -p

Jetbrains 家族 Database 连接

在 IDEA、Pycharm 等软件中,内置 Database 访问插件,具备可视化数据库表的功能,一般在右侧任务栏点击展开。

点击加号,选择 MySQL 作为 Data Source。

Ubuntu 服务器安装 MySQL 远程数据库

在弹出框中,填入远程数据库IP(Host)、用户名(User)、密码(Password),后点击 Test connection 尝试连接。出现下图成功标识,即表示可成功连接数据库,随后点击应用(Apply)即可。

Ubuntu 服务器安装 MySQL 远程数据库

随后,软件中会出现 console,我们可以在这里输入 MySQL 语句并点击绿色启动按钮执行命令,同时可双击右侧弹出栏中的数据库表,查看信息。

附上 MySQL 创建数据库,并指定编码 UTF8 的命令:

CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_general_ci;

Original: https://www.cnblogs.com/zewanhuang/p/16595865.html
Author: ZewanHuang
Title: Ubuntu 服务器安装 MySQL 远程数据库

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/504998/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • day04-MySQL常用函数

    5.MySQL常用函数 5.1合计/统计函数 5.1.1合计函数-count count 返回行的总数 Select count(*)|count (列名) from table_…

    数据库 2023年6月11日
    080
  • 5_SpringMVC

    一. 什么是MVC框架 MVC全名是Model View Controller, 是模型(model), 视图(view), 控制器(controller)的缩写, 一种软件设计典…

    数据库 2023年6月11日
    092
  • MAC Golang环境搭建

    下载golang 下载地址:https://golang.google.cn/dl/ 根据MAC左上角苹果图标->关于本机,即可查看芯片类型 安装golang 在 下载 中双…

    数据库 2023年6月14日
    084
  • MySQL实战45讲 20

    20 | 幻读是什么,幻读有什么问题? 建表和初始化语句如下 CREATE TABLE t ( id int(11) NOT NULL, c int(11) DEFAULT NUL…

    数据库 2023年6月14日
    059
  • 719. 找出第 K 小的数对距离

    数对 (a,b) 由整数 a 和 b 组成,其数对距离定义为 a 和 b 的绝对差值。 给你一个整数数组 nums 和一个整数 k ,数对由 nums[i] 和 nums[j] 组…

    数据库 2023年6月16日
    099
  • 优雅的代码从现在开始

    个人见解: 写代码前 构思明白, 想明白,想全 写着写着都是在写相同的代码,改动麻烦 看到不好的就立马让他优雅 学习别人是如何优雅的 便于维护,避免重复代码,便于开发 提取公共函数…

    数据库 2023年6月11日
    078
  • 2022 IEEE 编程语言榜单发布!Python 又双叒叕霸榜了,学 SQL 工作更吃香!

    哈喽兄弟们! 近年来,Python 宛如一匹黑马,一骑绝尘,横扫 TIOBE、Stack Overflow 等榜单,如今在 IEEE Spectrum 发布的第九届年度顶级编程语言…

    数据库 2023年6月14日
    096
  • JavaWeb详解

    一、基本概念 1.前言 web开发: web,网页的意思 静态web html,css 提供给所有人看的数据始终不会发生变化 动态web 提供给所有人看的数据始终会发生变化,每个人…

    数据库 2023年6月16日
    085
  • 数据结构入门之单链表代码实现(java)

    1:单链表是: 单链表是一种链式存取的 数据结构 用一组地址任意的 存储单元 存放线性表中的数据元素。 链表中的数据是以结点来表示的,每个结点的构成:元素 ( 数据元素 的映象) …

    数据库 2023年6月6日
    096
  • DNS 查询原理详解

    你可能会问,难道 DNS 服务器(比如 1.1.1.1)保存了世界上所有域名(包括二级域名、三级域名)的 IP 地址? 当然不是。DNS 是一个分布式系统,1.1.1.1 只是用户…

    数据库 2023年6月14日
    096
  • Redis的五大数据类型(简单使用)

    redis是基于内存的,内存的读写速度非常快 ; redis是单线程的,省去了很多上下文切换线程的时间; *redis因为是基于内存的 不涉及io操作 所以单线程效率是最高的 回归…

    数据库 2023年6月6日
    085
  • 三分钟入门 InnoDB 存储引擎中的表锁和行锁

    各位对 “锁” 这个概念应该都不是很陌生吧,Java 语言中就提供了两种锁:内置的 synchronized 锁和 Lock 接口,使用锁的目的就是管理对共…

    数据库 2023年6月6日
    081
  • SQL优化这5个极简法则,直接让查询原地起飞!

    SQL 作为关系型数据库的标准语言,是 IT 从业人员必不可少的技能之一。SQL 本身并不难学,编写查询语句也很容易,但是想要编写出能够高效运行的查询语句却有一定的难度。 查询优化…

    数据库 2023年5月24日
    073
  • 最小化安装killall不可用

    最小化安装killall不可用 最小化安装 Centos7.4后,发现killall命令不可用使用了以下命令,查看软件包名: yum search killall 查找后发现应使用…

    数据库 2023年6月15日
    068
  • MySQL学习笔记

    MySQL学习笔记 解决MYSQL中文乱码问题 一、乱码的原因: 1、 client客户端的编码不是utf8 2、server端的编码不是utf8 3、database数据库的编码…

    数据库 2023年6月14日
    083
  • Javascript基础

    作者导言: 引用偶像刘德华的一句话 “学到的就要教人,赚到的就要给人”! 以下是关联的web前端基础知识文章,通过这些文章,您既可以系统地学习和了解这些知识…

    数据库 2023年6月14日
    0100
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球