Ubuntu20.04 阿里云服务器网站搭建 __02__MySQL

  • 初步任务
    • MySQL_8.x安装与测试
      • 第一步:下载MySQL的服务器版本
      • 第二步:初始化配置
      • 第三步:配置远程链接
        • (1)给root用户开通远程链接权限
        • (2)更改配置项,允许MySQL进行远程链接
        • (3)以下的步骤和以上的(1)步骤重合,如果(1)不奏效,可以看看这个
      • 第四步:在你的云服务器上开放MySQL端口
      • 第五步:验证远程链接
        • (1)直接使用命令行链接测试(方便、快捷)--推荐
        • (2):安装并使用Navicat进行远程链接
    • 一些常见的问题
      • 报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    • 参考链接

初步任务

在阿里云服务器Ubuntu20.04环境下,安装配置部署MySQL,并且使用Navicat Premium 16进行远程链接测试。

MySQL_8.x安装与测试

这里安装MySQL最新版本(默认安装)

第一步:下载MySQL的服务器版本

sudo apt-get install mysql-server

不行的话先换源(其实本机上的阿里源就可以),以下以(添加)清华源为例

sudo vim /etc/apt/source.list

在最后添加以下一段:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

执行更新后下载:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mysql-server # 默认应该是下载到最新版本

我当前的版本如下:

sudo mysql -V
mysql  Ver 8.0.30-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))

第二步:初始化配置

执行以下语句进行初始化配置

sudo mysql_secure_installation

以下依次会出现几个选项供输入、选择,依次是:

  1. 是否需要设置密码? 选择y
  2. 密码强度等级?这里我们就选最低的0(只限制密码的最短长度)
  3. 输入密码
  4. 再次确认密码
  5. 是否更改密码

ok,到这里大多数情况会出现一个报错(虽然你的密码符合强度等级要求的标准,且两次输入均一致)。暂时停在这里,再开一个命令行窗口,接入你的云服务器。直接输入mysql免密登录(刚刚安装的mysql是没有密码的,允许这样登录)。以下依次输入:

mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'yourpassword';
# 'yourpassword'的位置输入你刚刚卡住报错那个位置输入的密码
# 不要忘记打分号哦~

显示Query OK即可退出这个窗口,回到刚刚卡住的那个位置,继续输入刚刚输入的密码,并重新输入验证,选“y”,回车。这次直接通过。

之后的几个问题分别是:

  • 是否删除匿名账户? 选n
  • 是否禁止root用户远程登录? 选n
  • 是否清除测试的数据集?选n
  • 是否立刻刷新设置?选y

以上基础配置成功,初始化完成。

第三步:配置远程链接

(1)给root用户开通远程链接权限

首先将mysql设置为所有地址均可访问(默认是只有本地可以访问),如下:

先查看一下当前的访问状态

>use mysql;
>select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| localhost | debian-sys-maint |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
# 可见 为 root 的用户登录,仅可本地访问(localhost)

进行修改,修改结果如下

> update user set host = '%' where user = 'root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
> select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | root             |
| localhost | debian-sys-maint |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
+-----------+------------------+

执行完以上,立刻刷选权限

> FLUSH PRIVILEGES;

(2)更改配置项,允许MySQL进行远程链接

执行以下命令并注释掉bind-address这行

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 注意是mysqld.cnf 不是 mysql.cnf


保存退出后重启mysql
相关命令如下:

sudo service mysql restart # 重启mysql
sudo service mysql start # 启动mysql
sudo service mysql stop # 停止mysql
sudo service mysql status # 查看当前mysql运行状态

(3)以下的步骤和以上的(1)步骤重合,如果(1)不奏效,可以看看这个

之后依次登入mysql,切换选择mysql数据库

mysql -u root -p
# 输入密码
#以下进入mysql后选择mysql数据库
mysql> use mysql
# 显示 Database changed字样

查看mysql当前默认权限:

mysql> select user,host from user;
# 这里可以看到root访问权限是localhost,这表示远程不可访问
# 如果要远程可以访问,root必须是“%”

于是进行更改:

mysql> update user set host='%' where user='root';
# 之后可以使用以下指令再次查看
mysql> select user,host from user;

之后授权远程登录:

mysql> Grant all privileges on root.* to 'root'@'%';

修改密码规则,使得远程可以访问:

ALTER USER root IDENTIFIED with mysql_native_password by 'yourpassword';
# 以上是mysql-8之后版本的写法,以下是之前的写法
SET password for 'root'@'localhost'=password('yourpassword')

第四步:在你的云服务器上开放MySQL端口

很容易被忽视的一点,如下配置,开放MySQL默认的3306端口。

第五步:验证远程链接

(1)直接使用命令行链接测试(方便、快捷)–推荐

命令行输入以下命令进行链接测试(前提是你的机器安装了mysql):

$ mysql -h YourRemoteIP -P 3306 -u root -p
Enter password:xxxxxxxWelcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.30-0ubuntu0.20.04.2 (Ubuntu)Copyright (c) 2000, 2022, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
# 出现以上表示接入成功

(2):安装并使用Navicat进行远程链接

(使用任意MySQL可视化工具都可,这里其实更建议使用MySQL WorkBench 进行远程链接测试)

  • 链接名随便取
  • 主机IP是你阿里云服务器的公网IP
  • 端口号就是默认的(刚刚你在上一步开放的端口)
  • 用户名是定义的root
  • 密码是mysql的设置密码

    至此整个流程完毕。

一些常见的问题

报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

密码不符合规定,强烈建议以下步骤,无论如何在上一节的“第二步”中一并执行一遍。
首先浏览一下默认的密码策略:

mysql>  SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)

这里的MEDIUM改成LOW即可,具体操作如下:

mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.00 sec)
# 其他可供选择的配置如下(不一定需要一模一样)
# 将密码默认最短长度改短:原来是8现在改成1
mysql> set global validate_password.length=1;
Query OK, 0 rows affected (0.00 sec)
# 用户名不能和密码相同?现在改为允许:
mysql> set global validate_password.check_user_name=off;
Query OK, 0 rows affected (0.00 sec)

参考链接

核心参考–安装以及配置
核心参考–远程链接
报错参考–密码安全性等级修改
报错参考–阿里云开放MySQL端口

Ubuntu20.04 阿里云服务器网站搭建 Apache2+PHP+MySQL相关推荐

  1. 阿里云centos云服务器 - 网站搭建教程

    这里介绍一下,如何使用centos阿里云服务器搭建网站? 搭建网站需要有服务器,需自行购买: 如果想使用免费的,且是个人博客,推荐一个免费的github 下面还是介绍正规的网站搭建: 详细 · 步骤如 ...

  2. 新手如何在阿里云服务器上搭建自己的个人网站

    新手如何在阿里云服务器上搭建自己的个人网站 如何在阿里云服务器上搭建自己的个人网站(阿里云服务器.tomcat服务.xshell+WinSCP(服务器本地助手).写好的静态网页). 本博客主要分享本人 ...

  3. 阿里云服务器ECS搭建网站完整方法教程

    阿里云服务器怎么使用?下面主机教程网来说一下阿里云服务器ECS搭建网站完整方法教程. 一.购买阿里云服务器 1.地域.机型.镜像.公网带宽.购买时长等配置都是根据自己的需求进行选择的,不同的配置相应的 ...

  4. 云服务如何搭建数据库_【MySQL8.0.18】阿里云服务器上搭建MySQL数据库

    要想搭建个人博客,云服务器和数据库是少不了的.笔者选择在阿里云服务器上搭建一个MySQL数据库. 系统选用CentOS8.0,MySQL数据库版本8.0.18 一.数据库压缩包选择及下载 登录MySQ ...

  5. 阿里云服务器,修改Apache2默认端口80

    阿里云服务器,修改Apache2默认端口80 Apache2默认端口是80,但是一般这个80端口会被别的进程占用,为了避免进程之间冲突,有时候我们可以修改默认端口,个人修改原因是因为部署域名的时候需要 ...

  6. nextcloud+宝塔在阿里云服务器上搭建个人云存储盘(如何在服务器上搭建个人云盘)

    以下操作经实践,已成功执行实现.读者若安装失败,可在云服务器操作台上初始化云盘,再次进行重装.望读者,不畏挫折,愈败愈战,请别因为环境的安装失败影响你的学习的兴趣,不妨多次"重启试试&quo ...

  7. 阿里云服务器CentOS8 搭建javaweb环境及mysql数据库安装

    阿里云服务器CentOS8 搭建javaweb环境及mysql数据库安装 一. JavaWeb环境搭建 步骤1:登录 Linux 实例 1.使用标准方式登录 Linux 实例(推荐) 浏览器直接搜索阿 ...

  8. 基于阿里云服务器环境搭建到项目上线系列文章之六——项目部署

    基于阿里云服务器环境搭建到项目上线系列 前言:最近购买了域名和一台阿里云服务器准备做点东西放上去,所以准备把环境搭建到项目上线的过程记录下来,计划一个系列6篇文章 基于阿里云服务器环境搭建到项目上线系 ...

  9. 阿里云服务器CentOS搭建

    一. 阿里云服务器CentOS搭建 阿里云的CentOS云系统是一个集成了Python环境基于yum安装的镜像,包含Nginx.MySQL.Pyenv.IPython等. CentOS(Communi ...

最新文章

  1. C++和操作系统面试问题分类
  2. SpringBoot中yml文件报错:org.yaml.snakeyaml.scanner.ScannerException:mapping values are not allowe here...
  3. 解决使用CoreData时报duplicate symbol错误问题
  4. oracle10官网下载安装,oracle11g安装(win10)下载安装
  5. 洛谷 P2324 [SCOI2005]骑士精神 解题报告
  6. 透明图片怎么发给别人_戒指大了怎么办?
  7. python 连接MS sql server2005数据库
  8. python条件表达式有哪几个_Python中条件表达式的评估顺序是什么?
  9. Android 四大组件 之 活动(Activity)
  10. effective c++ 第六章
  11. 小白都能理解的矩阵与向量求导链式法则
  12. 百度 PaddlePaddle开源视频分类模型Attention Cluster,曾夺挑战赛冠军
  13. vnc远程桌面,细数五款使用感超强的vnc远程桌面软件
  14. python matpltlib实践——画直方图、折线图
  15. C#如何在VS2015 2017版本中编写WPF UI界面引入第三方SVG图形
  16. 鳗鱼刺多怎么处理图像_鳗鱼小刺多怎么处理
  17. @Scheduled同步多线程配置
  18. 2019网络小说十大口碑神作盘点,诡秘剑来谍影覆汉牧神学霸皆在
  19. 局域网大附件上传,支持断点续传
  20. wbarb matlab,图像的高频低频分解

热门文章

  1. 你下载的文件过大 请使用百度云管家
  2. linux隐藏文件导出,看我如何通过Linux Rootkit实现文件隐藏
  3. EXCEL实现聚光灯效果
  4. 计算机系统维护技术期末考,计算机系统组成与维护期末复习试题3套(其中2套含答案).doc...
  5. ColorTextView(随视频帧变化颜色的TextView)
  6. PageHelpe插件VO转换导致分页总数错误
  7. CSS初入门:过渡-Transitions
  8. seo扫老域名工具软件-老域名软件-扫域名工具
  9. 经典游戏“大富翁4”存档文件修改器Rich4Editor下载
  10. 我的2012----苦逼程序员的蜕变