数据仓库_Linux(5)&MySQL(1)

1.整理 后台执行脚本
2.整理 rundeck 视频 部署
3.整理 crontab 每隔10s
4.整理 软连接 场景 坑
5.二进制部署mysql
6.重新部署
7.部署dbeaver 打通 mysql

1.整理 后台执行脚本

后台执行后命令有三个,分别是:

./test.sh &
nohup ./test.sh & 
nohup ./test.sh > /root/test.log 2>&1 &

一般使用第三条

[root@aliyun ~]# nohup ./show.sh >> ./show.log 2>&1 &    #输出重定向
[4] 18637
[root@aliyun ~]# 
[root@aliyun ~]# tail -F show.log     #实时接收输出内容
nohup: ignoring input
Thu Nov 21 17:07:58 CST 2019
Thu Nov 21 17:08:08 CST 2019
Thu Nov 21 17:08:18 CST 2019
Thu Nov 21 17:08:28 CST 2019
Thu Nov 21 17:08:48 CST 2019

2.整理 rundeck 视频 部署

https://www.bilibili.com/video/av35466584?from=search&seid=1197620829255678947

3.整理 crontab 每隔10s

Linux自带的任务调度工具 crontab 的调度单位分别是 分、时、日、周、月 最小的划分粒度是分钟,因此不能解决秒级别的调度问题,

* 代表每次,如 * / 6 代表每6分钟执行一次

但是换一种思路,我可以把调度代码包在循环体中,这个循环体执行6次,每次sleep 10s ,加起来就是分钟,即每分钟执行6次,每次间隔10秒

#!/bin/bash
for((i=0;i<6;i++));
do
        date
        sleep 10s
done

这样打印出来的结果是间隔10秒

[root@aliyun ~]# ./show.sh 
Thu Nov 21 17:19:23 CST 2019
Thu Nov 21 17:19:33 CST 2019
Thu Nov 21 17:19:43 CST 2019
Thu Nov 21 17:19:53 CST 2019
Thu Nov 21 17:20:03 CST 2019
Thu Nov 21 17:20:13 CST 2019

4.整理 软连接 场景 坑

软连接的使用:ln -s 源文件路径 目标文件路径

[root@aliyun ~]# ln -s test.txt test
[root@aliyun ~]# ll
total 24
-rw------- 1 root root       5 Nov 21 17:03 nohup.out
-rw-r--r-- 1 root root      45 Nov 12 23:21 print.sh
-rw-r--r-- 1 root root     196 Nov 21 17:08 show.log
-rwxr--r-- 1 root root      58 Nov 21 17:07 show.sh
drwxr-xr-x 2 root root    4096 Nov 17 10:24 size.log
lrwxrwxrwx 1 root root       8 Nov 21 17:23 test -> test.txt
-rwxr-xr-- 1 root bigdata  198 Nov 18 11:47 test.txt
[root@aliyun ~]# 

使用场景:

1. 作为源文件的快捷方式存在,好处:升级源文件的时候只需要重新创建软连接,注意:环境变量中不能写源文件的路径,必须写软连接文件

[root@aliyun~]# ll
total 5
lrwxrwxrwx 1 root root   8 Nov 21 17:23 mysql -> mysql5.6
drwxr-xr-x 2 root root   6 Nov 20 21:33 mysql5.6  #低版本部署
drwxr-xr-x 2 root root   6 Nov 20 21:33 mysql5.7  #通过软连接来切换升级文件
drwxr-xr-x 3 root root  44 Nov 17 23:13 ruozedata
-rw-r--r-- 1 root root 846 Nov 17 23:12 ruozedata.zip

  2. 作为数据盘在系统盘中日志写入目录的软连接,好处:日志写入和存储多个文件需要占用大量的磁盘,把日志的存储位置换到了数据盘中

mkdir /data01/log/  #创建数据盘下的日志目录
mv  /var/log/hbase /data01/log/  #移动系统盘的日志文件到数据盘
ln -s /data01/log/hbase /var/log/hbase  #数据盘的日志文件再软连接到系统盘

坑:

  软连接文件创建后的文件和源为文件权限不同,必须注意和修改软连接文件和目标文件的权限

建议:

  在创建软连接的时候,源文件路径和目标文件路径推介使用绝对路径

5.二进制部署mysql

https://github.com/Hackeruncle/MySQL/blob/master/MySQL%205.6.23%20Install.txt

京东云下部署代码:

scripts/mysql_install_db  \
--user=mysqladmin \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data 

必须要装三个环境:

yum install -y perl
yum install -y autoconf
yum install -y libaio

6.重新部署

1. 删除压缩文件和数据文件

rm -rf arch/* data/*  

2. 重置执行脚本文件

scripts/mysql_install_db  \
--user=mysqladmin \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data 

7.部署dbeaver 打通 mysql

修改用户密码:

update user set password=password('ruozedata') where user='root';

查看用户权限信息:

select user,password,host from user;

给用户添加权限:

grant all privileges on *.* to root@'%' identified by 'ruozedata';
flush privileges;  #刷新权限

DBeaver连接Mysql:

 

 

8. 补充

为了保证 ip 地址的安全性和可用性

  1. 在 linux 的 /etc/hosts 文件中配置 内网ip 地址和主机名的映射环境,这样在shell脚本或者代码中使用主机名替代 ip 使用

  2. 如果是云主机,在windows中的hosts文件中配置外网ip地址和主机名的映射

注意:

  hosts文件中的前两行切记不能删,否则可能带来bug

posted @ 2019-11-21 18:14  tunan96  阅读(203)  评论(0编辑  收藏  举报