xml地图|网站地图|网站标签 [设为首页] [加入收藏]
基于Zynq的GNULinux在线编译调试记录澳门新葡亰手
分类:操作系统

 

  字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。

 

--20171228

但是单引号和双引号是有区别的:

前言

对于我们运维来说,在mysql数据库领域,别的不说,最起码要会两大技能!

第一大技能:备份与还原

第二大技能:主从异步

关于这两大技能我们先来说说第一个

1、实验环境

         硬件环境:联想ThinkPad E430(内存加到10G)、显示屏×2、VGA线×1、HDMI线×1

、鼠标×2、键盘×1、USB分线器×1、ZedBoard开发板套件×1、AD-FMCOMMS2-EBZ×1、网线×1、SD卡×1。

         windows软件环境(E430运行软件):Window 7、VMware Workstation Pro12、串口调试助手、Win32DiskImager、VMware Workstation Pro12虚拟机上安装ubuntu-14.04.5-desktop-amd64。

         虚拟机运行ubuntu-14.04.5-desktop-amd64系统软件环境:gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux、eleclipce等。

         ZedBoard运行系统:2016_R2-2017_06_29、内核(linux-2017_R1)。

  单引号:

备份与还原

备份:我们按时定点来备份数据,当下数据最值钱,所以我们要确保数据的安全。

平常我们都是7天一大备,三天两头一小备,也就是说,一周来一个完全备份,1、2、天来一个增量或差异备份。

确保那天服务器宕机或误操作,能恢复过来。

还原:当服务器负重过量会导致宕机,或有时候我们误操作,删除了某张重要的数据表等等,这时候就要用到我们之前备份的数据来恢复。

简单说下备份的类型,

冷备:读写操作均不可进行

温备:读操作可执行;但写操作不可执行

热备:读写操作均可执行

MyISAM:温备,不支持热备
InnoDB: 都支持

简单说下常用的备份工具,

LVM的快照:先加锁,做快照后解锁,几乎热备;借助文件系统工具进行备份

mysqldump:逻辑备份工具,适用所有存储引擎,温备;支持完全或部分备份;对InnoDB存储引擎支持热备,结合binlog的增量备份

xtrabackup:由Percona提供支持对InnoDB做热备(物理备份)的工具,支持完全备份、增量备份

备注:以上除了xtrabackup,都是基于完整备份包以及二进制日志来恢复数据库的,二进制日志记录了增删改语句的操作指令,拿过来重放,

2、软件安装

  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
  • 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。

建议:建议二进制日志和数据文件分开存放

1、关闭网络链接,只监听本地端口访问,(在备份还原的时候用)

skip-networking=1

2、禁止主机名解析,ip地址访问的时候,禁止反向解析(建议加上)

skip_name_resolve = on

3、每个表单独使用一个表空间存储表的数据和索引(建议加上)

innodb_file_per_table = on

4、开启并指定二进制文件存放位置

log_bin=/...

。。。

2.1、安装VMware Workstation Pro12

软件:VMware Workstation 12 Pro

版本:12.0.1 build-3160714

软件来源:

安装教程:VMware Workstation 12 Pro 虚拟机安装步骤详解_百度经验

  双引号:

准备

1、准备两台主机,我用.17充当mysql主服务器,.57来还原用。

2、17主mysql数据库有以下几个表

澳门新葡亰手机版 1

3、目录

/data/mysq/:下存放数据库数据

/app/logs/:下存放二进制日志

。。。

2.2、安装虚拟系统ubuntu-14.04.5-desktop-amd64

      版本:14.04.5

软件来源:

安装教程:VMware12安装虚拟机教程、Ubuntu16.04安装教程_百度经验

         注意:可参照以下链接提升一下VMware的运行速度:

                                            

  • 双引号里可以有变量
  • 双引号里可以出现转义字符

实战

2.3、交叉编译环境的搭建

         软   件:gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz

         软件来源:

 

2.3.1、Ubuntu14.04  64bit系统下安装标准的C开发环境

           sudo apt-get install gcc g++ libgcc1 libg++ make gdb

或者  sudo apt-get install build-essential

 

 

2.3.2下载gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz

⑴ 在/usr/local/文件夹下建立名为ARM-toolchain的文件夹

       $ sudo mkdir /usr/local/ARM-toolchain

      

       ⑵ 下载gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz

       $ cd /usr/local/ARM-toolchain

         $sudo wget gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz

 

       ⑶ 安装gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz

       解压gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz

         $ xz –d gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz

$ tar xvf gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf.tar

 

         ⑷ 修改环境变量,把交叉编译器的路径加入到PATH

       修改/etc/bash.bashrc文件(此文件只对当前用户适用)

$sudo gedit  /etc/bash.bashrc

然后在文件的末尾空白处加入一下代码:

export      PATH=$PATH:/usr/local/ARM-toolchain/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf/bin

 

⑸ 使新的环境变量生效(不用重启电脑)

              $ source /etc/bash.bashrc

        

         ⑹ 测试是否安装成功

                  $ arm-linux-gnueabi-gcc -v

执行上面的命令,显示arm-linux-gnueabi-gcc -v信息和版本:

zhangjun@zhangjun-virtual-machine:~/eclipse_workspace/hello/Debug$ arm-linux-gnueabihf-gcc -v

Using built-in specs.

COLLECT_GCC=arm-linux-gnueabihf-gcc

COLLECT_LTO_WRAPPER=/usr/local/ARM-toolchain/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf/bin/../libexec/gcc/arm-linux-gnueabihf/7.2.1/lto-wrapper

Target: arm-linux-gnueabihf

Configured with: '/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabihf/snapshots/gcc.git~linaro-7.2-2017.11/configure' SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-lto --enable-shared --without-included-gettext --enable-nls --disable-sjlj-exceptions --enable-gnu-unique-object --enable-linker-build-id --disable-libstdcxx-pch --enable-c99 --enable-clocale=gnu --enable-libstdcxx-debug --enable-long-long --with-cloog=no --with-ppl=no --with-isl=no --disable-multilib --with-float=hard --with-fpu=vfpv3-d16 --with-mode=thumb --with-tune=cortex-a9 --with-arch=armv7-a --enable-threads=posix --enable-multiarch --enable-libstdcxx-time=yes --enable-gnu-indirect-function --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabihf/_build/sysroots/arm-linux-gnueabihf --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu/arm-linux-gnueabihf/libc --enable-checking=release --disable-bootstrap --enable-languages=c,c++,fortran,lto --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=arm-linux-gnueabihf --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu

Thread model: posix

gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)

 

获取字符串长度:例:

备份阶段

2.4、安装Eclipse IDE for C/C++

         标准的Eclipse只支持JAVA开发,要进行C/C++程序开发,必须安装CDT插件。

在Ubuntu下,可用apt-get命令先安装eclipse-platform,再安装CDT插件eclipse-cdt,可以获得Eclipse C/C++开发环境。命令如下:

                  $sudo apt-get install eclipse-platform

$sudo apt-get install eclipse-cdt

安装完成,直接输入eclipse命令即可启动Eclipse环境。

 

#!/bin/bash
name="dongxiucai"
echo ${#name}

1、完全备份

mysqldump -pcentos -A -F --master-data=2 --single-transaction |gzip > /data/all-`date +%F`.sql.gz

备注:

-A:备份全部数据库

-F:切换二进制日志

--master-data=2:记录了基于二进制那个位置备份的,这个点之后是新数据,备份结束点,主从改为1

--single-transaction:保证数据的一致性

3、Zynq硬件平台搭建

运行结果:

2、解压并查看

gzip -d all-2018-08-03.sql.gz
less all-2018-08-03.sql

澳门新葡亰手机版 2

备注:记住这个文件以及数字,一会还原的时候要用

3.1 下载Linux 镜像

Download Linux Image地址:

         搭建平台教程:

         启动后照片如下图3.1所示:

 

图3.1

  澳门新葡亰手机版 3

3、修改students表(新数据和日志)

1)没修改前

澳门新葡亰手机版 4

2)加记录

insert students (name,age)values('gaoda1hao',20);

澳门新葡亰手机版 5

3)查看现在的二进制变化

澳门新葡亰手机版 6

4)假设现在这台mysql服务器宕机崩溃了,下面开始还原

。。。

本文由澳门新葡亰手机版发布于操作系统,转载请注明出处:基于Zynq的GNULinux在线编译调试记录澳门新葡亰手

上一篇:Linux用户管理,vi命令快操作汇总 下一篇:没有了
猜你喜欢
热门排行
精彩图文