安装资料库 MariaDB 在 Amazon Linux 2-Day 03

安装资料库 MariaDB 在 Amazon Linux 2-Day 03

启动 EC2 後每小时就要开始收费,务必要记得没有使用的时候就把EC2停止(stop),但不要把它终止掉(terminate),终止掉就会把整个个体回收,相对应的设定跟资料都会不见了,而停止状态只会收取 EBS 的费用。

取得 EC2 的公有 IPv4 地址,登入到 EC2,详细操作可以参考Amazon Elastic Compute Cloud (EC2)连线到 Amazon EC2 (Windows) 这个部分,因为目前的系统为 macOS 所以底下的操作会以 Mac 为主,设定 1.pem 档的权限,并 2.以 ec2-user 的使用者登入到云端主机,登入成功後会看到 3. 一些基本操作的提示,如下图所示。

https://ithelp.ithome.com.tw/upload/images/20210903/20129510DLz4i2bvfJ.png
图 1、在 macOS 中透过终端机连线到 AWS EC2

先建立的 EC2 通常会需要先进行手动更新套件,所以执行"sudo yum update"来进行更新。今天的目的是完成资料库的建置、配置与新增使用者跟需要的资料。

安装 MariaDB 在 Amazon Linux 2 的步骤如下:

  1. 先检查一下目前的系统是否已经有安装 mariadb
sudo rpm -qa | grep mariadb
  1. 搜寻是否在安装仓储中有 mariadb 相关套件
sudo yum search mariadb
  1. 安装 mariadb 服务器
sudo yum install mariadb-server

https://ithelp.ithome.com.tw/upload/images/20210903/20129510nY8aK4tDxC.png
图 2、安装 MariaDB 在 Amazon Linux 2

  1. 设定可以开机後启动,并且现在就启动
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
  1. MariaDB 初始化
sudo mysql_secure_installation

MariaDB 初始化设定如下:

  • 设定管理者密码,原则上选是(Y),第一次安装才可以不用密码输入 Set root password? [Y/n]
  • 移除匿名帐号,原则上选是(Y) Remove anonymous users? [Y/n]
  • 关闭管理者 (root) 远端登录,原则上选是(Y) Disallow root login remotely? [Y/n]
  • 移除 test 资料库,原则上选是(Y) Remove test database and access to it? [Y/n]
  • 重新载入权限表,原则上选是(Y) Reload privilege tables now? [Y/n]

https://ithelp.ithome.com.tw/upload/images/20210903/20129510vDyuFEwP2e.png
图 3、MariaDB 资料库初始化设定

  1. 新增使用者,资料库,资料表以及内容

有了资料库後,接着把需要用的使用者帐号,资料库,资料表以及资料都一并放入 MariaDB 资料库服务器。输入下面指令登录 MariaDB 资料库,会出现要求输入密码的提示。

mysql -u root -p

进入资料库的指令行操作介面,分别是创建资料库,显示资料库列表,切换资料库。接着创建一个使用者 fishuser 来存取这个资料库,这是一个基本的安全考量,不用都用管理者身分来进行资料库操作,密码是 secretePasswordHere 记得要改成自己的密码;建立一个资料表,包含了四个栏位,分别是:流水号 (mark),鱼名 (fishName),分布 (distribution),拉丁名 (LatinName)。结果如下图所示。

CREATE DATABASE fishdb;
show databases;
use fishdb;

GRANT ALL ON fishdb.* TO fishuser@localhost IDENTIFIED BY 'secretePasswordHere';
CREATE TABLE `fishInfoTbl` (
  `mark` int(11) NOT NULL AUTO_INCREMENT,
  `fishName` varchar(255) NOT NULL,
  `distribution` text DEFAULT NULL,
  `LatinName` varchar(255) NOT NULL,
  PRIMARY KEY (`mark`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

https://ithelp.ithome.com.tw/upload/images/20210903/20129510NLF2Z6JwPA.jpg
图 4、创建系统所需的资料库,管理人员与资料表

最後,将所需要的资料新增到资料表中,并检视结果,如下图所示。

INSERT INTO `fishInfoTbl` (`fishName`, `distribution`, `LatinName`) VALUES
('黄金珍珠虎', '黄金珍珠虎,分布於坦干伊克湖沿岸浅滩中,是颇受喜爱的品种。体形扁平、背鳍底部前端突起,由於分布极广,因此有很多变异品种。体色由黄至红都有。属食荤性鱼类。不会攻击其他鱼类,因此可以混养。', 'Altolamprologus compressiceps'),
('帝王鲷', '帝王鲷专以湖底的贝类为食,因此可见其头部圆滑、口器居於下位且短小有力;牠们会先将贝类或螺类含入口中,再以口中的咽喉骨将其咬碎;虽然牠们平时个性并不特别凶恶,但由於其体型庞大常居於强势地位,在抢食时其吻部容易对其他鱼类造成杀伤力。牠们体侧具有两条粗横带、腹部有三、四条不明显的垂直带纹,公鱼成熟後会呈现艳丽的蓝绿色光泽,在後三鳍也有橙黄色的表现。', 'Chilotilapia rhoadesii'),
('麒麟鹦鹉', '唇部厚实,嘴形有圆嘴,平嘴基三角嘴,体色不乏红,黄,铜,金等色,部分鱼只头部较圆润头有隆起,眼睛全是红眼,後三鳍大包尾,体型最大可长到20公分。', 'Cichlasoma var. Kilin Parrot'),
('蓝茉莉白子', '蓝茉莉一直是很好混养的鱼种,不凶,稳定度高,混养也不具有威胁性,喂食颗粒饲料即可。', 'Cyrtocara moorii Albino'),
('红金波罗', '性格较温顺,对水质要求不严,要求宽大水体和砂石、水草的环境,爱在水下层游动。', 'Heros severus');

select fishName,LatinName from fishInfoTbl;
quit;

https://ithelp.ithome.com.tw/upload/images/20210903/20129510yAZUThxKhP.png
图 5、新增系统所需的资料

参考资料


<<:  [Day3] 语音介面设计简易入手指南

>>:  不要被电影被骗了,工程师的日常很平淡

Day18 - (补上昨天程序码) + BBT介绍

大家好,我是长风青云。早起跟朋友约、下午无缝接轨去帮弟弟搬宿、晚上一回到家就开始做ppt和发片。累瘫...

Native Backup

对於大部分DBA来说, 使用指令可能还是比较方便, 不论写成Job或是Store Procedure...

【Day 09】- 大家都爱的 BeautifulSoup

前情提要 前一篇文章带大家看了Requests-HTML 库的使用,用他来做资料清洗使我们真正想要的...

[ 卡卡 DAY 21 ] - React Native 资料手机存起来 AsyncStorage

如果怕手机关掉东西就不见了 来使用 AsyncStorage 将状态存到手机也就是 local s...

视觉设计(1)

来轻松聊聊 本单元可以视为CSS基础介绍的进阶内容,相对於基础篇会提供更多实用的且更接近实际网页开发...