Day.3 环境部署 - 从安装开始 (GCP & Percona Mysql )

在以下环境搭建内容会示范如何从GCP部署机器(VM)至安装Percona(mysql)的过程。

作业环境: macOS

  • Google Cloud Platform - 建VM (作业系统:ubuntu)
    • Percona Server - MySQL

1.google cloud注册并设定帐户资讯 (第一次使用有送免费金抵免额能使用!) 这边基本上就填资料验证跳过...

google cloud连结

2.建立一个自己的专案 EX: My-project
https://ithelp.ithome.com.tw/upload/images/20210801/20130880G4MzbPVDG0.png
3.左边下拉清单选择Compute Engine -> 点选 VM 执行个体 -> 建立执行执行个体 设定VM的名称/机器设定/开机磁碟(这边使用ubuntu18.04)-> 建立

完成後产生执行个体如下图 EX: mysql-master
https://ithelp.ithome.com.tw/upload/images/20210801/20130880563awYEpgH.png

但这时我们还没办法直接透过(连线)SSH的gcloud指令去连线进入VM -> 先下载并设定Google Cloud SDK

  1. Install Google Cloud SDK & 照着官方文件 gcloud init 设定 (登入gmail 认证 )

Google Cloud SDK连结

  1. 连线 -> SSH下拉按钮点选查看gcloud指令 -> 终端贴上指令进入机器
gcloud beta compute ssh --zone "asia-east1-a" "mysql-master" --project "my-test-320809"
  1. 成功进入VM画面
    https://ithelp.ithome.com.tw/upload/images/20210801/20130880t48K0cHLiA.png

  2. 安装percona server(Mysql5.7/ubuntu)
     
    参考官方文件步骤1~5连结:percona安装官方文件

Installing Percona Server for MySQL from Percona apt repository

1.Install GnuPG, the GNU Privacy Guard:
$ sudo apt-get install gnupg2
2.Fetch the repository packages from Percona web:
$ wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
3.Install the downloaded package with dpkg. To do that, run the following commands as root or with sudo:
$ sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
4.Remember to update the local cache:
$ sudo apt-get update
5.After that you can install the server package:
$ sudo apt-get install percona-server-server-5.7

跑完mysql会安装於以下预设路径:

Files Location
设定档配置 /etc/mysql/my.cnf
数据目录 /var/lib/mysql
错误日志 /var/log/mysql
  • 7.1 如需将Mysql数据转换至指定路径
1.关闭mysql服务(ubuntu安装完无异常,mysql服务预设会启动)
root@mysql-master:~# systemctl stop mysql

2.建立资料路径
root@mysql-master:~# mkdir -p /mnt/mysql_data

3.复制数据库文件夹至要变更的路径下
root@mysql-master:~# cp -R /var/lib/mysql /mnt/mysql_data

4.编辑my.cnf设定档文件(复制以下设定档覆盖原本的预设档案内容)
root@mysql-master:~# vim /etc/mysql/my.cnf

my.cnf设定档内容:

[client]
#mysql 客户端连线服务端预设port
port=3306
socket=/mnt/mysql_data/mysql/mysql.sock
			
[mysqld]
#mysql使用socket方式登陆的sock档案路径
socket=/mnt/mysql_data/mysql/mysql.sock
#mysql 资料库档案所在目录
datadir=/mnt/mysql_data/mysql
#错误日志路径
log-error=/var/log/mysql/error.log
#mysql服务端预设监听port
port=3306
			
# 设定字符集utf8
character_set_server=utf8
    ----------------------以上内容------------------------
 << my.cnf档用来设置Mysql全域参数初始化(EX:开启功能or调整参数限制&作用),没有设置会依照预设值运行 >>

5.更改目录档案的使用者权限
root@mysql-master:~# chown -R mysql:mysql /mnt/mysql_data/mysql

6.变更mysql 使用者的家目录路径(Linux)
root@mysql-master:~# usermod -d /mnt/mysql_data/mysql/ mysql

7.修改alias文件让 MySQL 写入新目录
root@mysql-master:~# echo "alias /var/lib/mysql/ -> /mnt/mysql_data/mysql," >> /etc/apparmor.d/tunables/alias

8.重新加载配置文件
root@mysql-master:~# /etc/init.d/apparmor reload

9.启动mysql服务
root@mysql-master:~# systemctl start mysql

10.同步骤8.确认服务是否正常启动 Active: active (running) 状态

8.ubuntu安装後会自动启动,确认状态後就可以登入mysql(预设无密码 直接Enter)

root@mysql-master:~# service mysql status
root@mysql-master:~# mysql -uroot -p

https://ithelp.ithome.com.tw/upload/images/20210801/20130880uSyx4KbsRz.png
到登入成功画面後就代表完成啦~~

ps.在生产环境上藉由外接磁碟来放置mysql数据资料,设定在自建路径上能方便在做资料库维运时的作业系统更换或机器本身异常时方便数据能直接转移至新机器上。


下集预告: 为何资料库使用权限需要受到控制? DB管理者如何管理使用者权限~


<<:  D10-(9/10)-荣成(1909) 纸箱需求旺

>>:  Day3-golang 环境建设(macOS)

Day30-结语

前言 今天就是铁人赛的最後一篇文章了,不免俗的要来写个总结来混一下篇幅XD,也希望这次的铁人赛可以让...

【Vue】2个步骤检测路由 | Path Ranker

Path Ranker 是一款检测 Vue Router 路由的工具,确认网址会进到正确的路由。 第...

Day15|【Git】git reset 补充 - 三种模式

之前介绍 git reset 时,有提到说使用 git reset 指令时,有三种常用来搭配的参数模...

Day18. Slim & Pug - 缩排式的 html

由於可能很多人会不习惯缩排的写法来写html,然後在Day17以後的章节,汉汉老师会大量的使用缩排式...

网页图片-30天学会HTML+CSS,制作精美网站

图片在网页里是不可或缺的元素,可以增加网站的丰富度及美感,但是也可能造成网站花太多时间载入,使用者体...