一。mysql安装

  以源码安装的方式编译和安装Mysql 5.6。

1.卸载旧版本

rpm -qa | grep mysql        检查是否有旧版本

查询结果:mysql-libs-5.1.73-7.el6.x86_64

rpm -e mysql-libs            删除旧版本
rpm -e --nodeps mysql-libs 强行删除

2。安装mysql

  卸载c的编译工具

下载c的编译工具
yum -y install make gcc-c++ cmake bison-devel ncurses-devel

  上传本地mysql5.6源码包志/opt

xftp连接上传

  编译

tar -zxvf mysql-5.6.14.tar.gz        解压
cd mysql-5.6.14 切换目录 编译准备:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 编译并安装:
make && make install

  配置mysl

权限管理:

1.创建mysql组,及用户
groupadd mysql
useradd -g mysql mysql 2.修改/usr/local/mysql权限
chown -R mysql:mysql /usr/local/mysql 初始化配置:
1.cd /usr/local/mysql
2.scripts/mysql_install_db 在启动MySQL服务时,会先在/etc目录下找my.cnf,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf 查看/etc下是否有my.cnf,有就换个名字,防止干扰
1.mv /etc/my.cnf /etc/my.cnf.bak 添加服务(mysql服务放进/etc/init.d),并设置开机自启:
1.cp /usr/local/mysql/support-files/mysql.se
rver /etc/init.d/mysql
2.chkconfig mysql on
3.service mysql start
若失败重新修改权限 配置环境变量:
1.vi /etc/profile
2.在文件中加入:
export PATH=$PATH:/usr/local/mysql/bin
3.source /etc/profile

二。shell编程

1.什么是shell编程

  Shell 是一个命令行解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序的系统级程序。

2.shell编程打印hello world

  代码:

#!/bin/bash
echo 'hello world'

  .#!/bin/bash:

  告诉计算机,使用bash解释器来执行代码

  echo:

  控制台输出。

  执行代码

给脚本可执行权限
chmod 744 myshell.sh
然后直接运行脚本

  直接调用shell解释器执行

bash myshell.sh

3.注释

单行注释
#内容
多行注释
:<<!
内容
!

4.变量

  变量的介绍

1.Linux中变量的分类:系统变量    自定义变量
2.系统变量:
$PATH
$HOME
$PWD
$SHELL
$USER
3.显示当前shell中所有的变量:set

  变量的定义

基本语法
1.定义变量:变量名=变量值
2.撤销变量:unset 变量名
3.声明静态变量:readonly 变量名. 静态变量不能unset 快速入门
1.定义变量a
2.撤销变量a
3.声明静态变量b=2,尝试unset撤销 定义规则
1.变量名称可以由字母、数字和下划线组成,但是不能以数字开头
2.等号两侧不能有空格
3.变量名称一般习惯为大写 将命令的返回值赋给变量
1.A=`ls -la` 反引号,运行里面的命令,并把结果返回给变量 A
2.A=$(ls -la) 等价于反引号

5.设置环境变量

  基本语法

1.export 变量名=变量值        将shell变量输出给环境变量
2.source 配置文件 让修改后的配置信息立即生效
3.echo $变量值 查看环境变量的值

  快速入门

1.在/etc/profile文件中定义MY_NAME环境变量
vim /etc/profile
MY_NAME="mac"
2.查看环境变量MY_NAME的值 强调:在使用MY_NAME前,需要让其生效
3.source /etc/profile 4,在另外一个shell程序中使用MY_NAME

6.位置参数变量

  介绍

  当我们执行一个 shell 脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量

  基本语法

1.
$n (功能描述:n 为数字,$0 代表命令本身,$1-$9 代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10}) 2.
$* (功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体) 3.
$@ (功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待) 4.
$#(功能描述:这个变量代表命令行中所有参数的个数)

  快速入门

编写一个shell脚本,pasition.sh,在脚本中获取到命令行的各个参数信息

7.预定义变量

  介绍

  就是 shell 设计者事先已经定义好的变量,可以直接在 shell 脚本中使用。

  基本语法

$$     (功能描述:当前进程的进程号(PID))
$! (功能描述:后台运行的最后一个进程的进程号(PID))
$? (功能描述:最后一次执行的命令的返回状态。如果这个变量的值为 0,证明上一个命令正确执行;如果这个变量的值为非 0(具体是哪个数,由命令自己来决定),则证明上一个命令执行失败)

  快速入门

在一个shell脚本pre.sh中简单实用一下预定义变量(提示, ./myshell.sh &  后台运行myshell.sh)

8.运算符

  基本语法

1.$((运算式))
2.$[运算式]
3.`expr m + n`
特点:运算符之间要有空格
+
-
/
%
\*
\( \)

  快速入门

写一个demo.sh完成:
1.3种方式计算(2+3)*4的值
2.方式2求出命令行两个参数的和

9.判断

  基本语法

[ 条件 ]            注意:条件前后要有空格

特别的:
[ 非空 ] 为true
[] 为false
[ haha ] && echo true || echo false

  判断语句

#字符串比较

```
= 判等
!= 判不相等
``` # 整数比较 ```
-lt 小于
-le 小于等于
-gt 大于
-ge 大于等于
-eg 等于
-ne 不等于
``` # 文件权限判断 ```
-r 有读的权限 [ -r 文件 ]
-w 有写的权限
-x 有执行权限
``` # 文件类型判断 ```
-f 存在并且是一般文件 [-f 文件]
-e 文件存在
-d 存在并且是一个目录
```

  快速入门

1.'ok'是否等于'ok'
2.'ok100' 是否等于 'ok' 3.23 是否大于 23
4.23 是否大于等于 23 5./root是否存在
6./root是否是一般文件

10.流程控制

  1.if判断

if [ 条件 ]
then
代码
fi
if [ 条件 ]
then
代码
else
代码
fi
if [ 条件 ]
then
代码
elif [ 条件 ]
then
代码
else
代码
fi

  练习

编写shell脚本,if.sh:
如果输入参数,大于等于60,则输出'及格了',如果小于60,则输出'不及格'

  2.case选择分支

case $变量名 in
'值1')
代码
;;
'值2')
代码
;;
*)
代码 都没命中执行
;;
esac

  练

编写shell脚本,case.sh:
当命令行参数是1时,输出'周一';是2时,输出'周二',是3时,输出'周三',其它情况,输出'其它'

  3.for循环

for 变量 in 值1 值2 值3
do
代码
done

  快速入门

编写foreach.sh:
打印命令行输入的参数[这里可以看出$*和$@的区别]

  循环

for ((初始值;循环条件;变量变化))
do
代码
done

  入门

编写for.sh:
从1加到100,并输出结果

  4.while循环

while [ 条件 ]
do
代码
done

  快速入门

编写while.sh:
从命令行中输出一个数n,统计1+...+n的值是多少

11.与用户交互

  基本语法

read 选项 变量
选项:
-p:提示信息
-t:等待输入的时间

  入门

编写input.sh:
1.读取控制带输入的值
2.读取控制台输入的值,等待6秒

12.函数

  1.系统函数

basename
# 基本语法 basename [pathname] [suffix]
获得路径最后一部分 如果指定的suffix,那么会去掉结果中suffix的部分 # 快速入门 1.返回/home/aaa/test.txt中'test.txt'的部分
2.返回/home/aaa/test.txt中'test'的部分

  dirname

  基本语法

dirname [pathname]
获得基础路径

  快速入门

1.返回/home/aaa/test.txt中'/home/aaa'的部分

  2。自定义函数

function 函数名(){
代码;
#参数使用:$1,$2,...,${10}...
return xxx;
} 调用:
函数名 值1 值2

  快速入门

编写func.sh:
用函数的形式,计算两个参数的和

13.shell综合案例

在/root下编写mysql_db_backuo.sh

需求:
1.每天凌晨2点10分,备份数据库mydb 到/data/backup/db
2.备份开始和备份结束时能够给出提示信息
3.备份后的文件要求以备份时间为文件名,并打包成.tar.gz的形式,如2019-09-28-044403.tar.gz
4.在备份的同时,检查是否有10天前的备份文件,如果有就删除
#!/bin/bash

#备份的路径
BACKUP=/data/backup/db
#当前的时间作为文件名
DATETIME=$(date +%Y_%m_%d_%H%M%S) echo "=======开始备份======"
echo "=====备份的路径是 $BACKUP/$DATETIME.tar.gz" #主机
HOST=localhost
#用户名
DB_USER=root
#密码
DB_PWD=997997
#备份的数据库
DATABASE=mydb 如果备份路径不存在,就创建
[ ! -d "$BACKUP/DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"
#执行mysql的备份指令
mysqldump -u$DB_USER -p$DB_PWD --host=$HOST $DATABASE | gzip > $BACKUO/$DATETIME/$DATETIME.sql.gz
#打包备份文件
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME
#删除临时目录
rm -rf $BACKUP/$DATETIME #删除10天前的文件
find $BACKUP -mtime +10 --name "*.tar.gz" -exec rm -rf {} \; echo "=====备份成功+++++"

二。ubuntu

  1.ubuntu介绍

    1.Ubuntu是一个以桌面应用为主的开源操作系统,它的界面做的非常好看

    2.专业的程序员一般会选择Ubuntu

    3.下载地址:http://cn.ubuntu.com/download

  2.安装

  同centos

  3.这只ubuntu支持中文

  默认安装的 ubuntu 中只有英文语言,因此是不能显示汉字的。要正确显示汉字,需要安装中文语言包。

  步骤

1.单击左侧图标栏打开 System Settings(系统设置)菜单,点击打开 Language Support(语言支持)选项卡。
2.点击 Install / Remove Languages,在弹出的选项卡中下拉找到 Chinese(Simplified),即中文简体, 在后面的选项框中打勾。然后点击 Apply Changes 提交,系统会自动联网下载中文语言包。(保证
ubuntu 是联网的)。
3.这时“汉语(中国)”在最后一位因为当前第一位是”English”,所以默认显示都是英文。我们如果希望默认显示用中文,则应该将“汉语(中国)”设置为第一位。设置方法是拖动,鼠标单击
“汉语(中国)”,当底色变化(表示选中了)后,按住鼠标左键不松手,向上拖动放置到第一位。
4.设置后不会即刻生效,需要下一次登录时才会生效。

  4.root用户

  ubuntu安装后,默认是普通用户,这时候要获得权限就得:

    1.sudo

    2.su root

  设置root用户的密码并使用

1.sudo passwd

  5.ubuntu使用python

  ubuntu安装成功后,默认会带上python2 和 python3,无需另外安装

  ubuntu下可以安装各种python的ide环境,包括pycharm

https://baijiahao.baidu.com/s?id=1622347860160507809&wfr=spider&for=pc

  6.apt软件管理工具

  apt 是 Advanced Packaging Tool 的简称,是一款安装包管理工具。在 Ubuntu 下,我们可以使用 apt

  命令可用于软件包的安装、删除、清理等,

  apt软件相关命令

sudo apt-get update    更新源
sudo apt-get install package 安装包
sudo apt-get remove package 删除包
sudo apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get source package 下载该包的源代码 ----------------------以上命令最为常用--------------------------- sudo apt-cache search package 搜索软件包
sudo apt-get install package --reinstall 重新安装包
sudo apt-get -f install 修复安装
sudo apt-get remove package --purge 删除包,包括配置文件等
sudo apt-get build-dep package 安装相关的编译环境
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-cache depends package 了解使用该包依赖那些包sudo apt-cache rdepends package 查看该包被哪些包依赖

  更换镜像源

  清华开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/

  ubuntu的软件源配置文件是/ect/apt/source.list

  1.备份/ect/apt/source.list

mv /ect/apt/source.list /ect/apt/source.list.backup

  若权限不够,切换root用户,或使用sudo

  2.替换/ect/apt/source.list内容

1.vim /ect/apt/source.list
2.写入清华镜像源文件内容

  小案例

1.apt-get remove vim
2.apt-get install vim
3.apt-cache show vim

  7.ssh远程登录

  和 CentOS 不一样,Ubuntu 默认没有安装 SSHD 服务,因此需要安装。

    1 安装

apt-get install openssh-server
service sshd restart 查看监听状态:
netstat -nap | more

  此时xshell就可以连接了

  2.其他

openssh-sever会安装客户端和服务端,
所以ubuntu在此时也可以连接其它有sshd服务的机器 基本语法:
ssh 用户名@IP
例如:ssh mac@192.168.188.131
使用 ssh 访问,如访问出现错误。可查看是否有该文件 ~/.ssh/known_ssh 尝试删除该文件解决。
登出命令:exit 或者 logout

linux源码安装mysql,shell编程学习,ubuntu的更多相关文章

  1. Linux源码安装mysql步骤

    创建文件夹: mkdir  /usr/local/webserver 安装必要依赖包      yum -y install gcc gcc-c++ make ncurses-devel安装cmake ...

  2. linux 源码安装mysql 5.5

         今天在ubuntu和CentOS下,用源码反复安装了许多次mysql,趁还没忘记,赶紧记下来...      在ubuntu和CentOS下安装过程倒是没什么差别.      0.下载源码, ...

  3. 64位linux源码安装mysql

    一:下载mysql http://dev.mysql.com/downloads/mysql/中的Generally Available(GA) Releases标签页,在MySQL Communit ...

  4. Linux平台下源码安装mysql多实例数据库

    Linux平台下源码安装mysql多实例数据库[root@linux-node1 ~]# netstat -tlunp | grep 330tcp6 0 0 :::3306 :::* LISTEN 6 ...

  5. CentOS 7下源码安装MySQL 5.7

    网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...

  6. lnux下源码安装MySQL 5.6

    nux下源码安装MySQL 5.6 说明:本文是我自己测试的MySQL5.6源码安装,经本人亲自实践,完全可用,另在5.6之前的版本也是可以按照本文源码安装的.我是在两台linux下一台安装5.5,另 ...

  7. Centos7源码安装mysql及读写分离,互为主从

       Linux服务器 -源码安装mysql 及读写分离,互为主从   一.环境介绍: Linux版本: CentOS 7 64位 mysq版本: mysql-5.6.26 这是我安装时所使用的版本, ...

  8. CentOS 6.4 源码安装MySQL 5.6

    1.安装前准备工作 1.1 必备的包 gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本. ...

  9. 源码安装mysql,及主从同步

    源码安装mysql [可选] 如果用源码安装cmake软件: cd /home/oldboy/tools/ tar xf cmake-.tar.gz cd cmake- ./configure #CM ...

随机推荐

  1. 2019-2020-1 20199304《Linux内核原理与分析》第九周作业

    第八章 进程的切换和系统的一般执行过程 知识点 1.进程调度的时机 1.1硬中断和软中断 中断是指在计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而 ...

  2. Calling the Web Service dynamically (.NET 动态访问Web Service)

    针对.NET平台下的WebService访问,为达到不添加引用的情况下,动态调用外部服务. 主体方法: public class WebServiceHelper { //Calling the We ...

  3. 硬核! 逛了4年Github ,一口气把我收藏的 Java 开源项目分享给你!

    Awsome Java Great Java project on Github(Github 上非常棒的 Java 开源项目). English Version 大家都知道 Github 是一个程序 ...

  4. iOS App Extension入门

    转自简书:http://www.jianshu.com/p/8cf08db29356   iOS 10推出了很多新功能,其中有几个高调的变化:通知栏更加实用,电话可以防骚扰,iMessage变得更加有 ...

  5. http状态码_____ 204/206/200

    HTTP的状态码有很多种,主要有五个大类 1xx(临时响应) 2xx(成功) 3xx(已重定向) 4xx(请求错误) 5xx(服务器错误) 每个大类还对应一些具体的分类.平时我们接触比较多的是200. ...

  6. 【CSS】305- [译] Web 使用 CSS Shapes 的艺术设计

    %; %; %; %; 0, 0 100%, 100% 100%); %; %; % 0, 0 100%, 100% 100%); %; %; ) p:nth-of-type(1)::before { ...

  7. 【eclipse】Editor does not contain a main type

    问题现象: eclipse运行java程序的时候弹出对话框:Editor does not contain a main type. 解决方法: 右击 src路径 → Build Path → Use ...

  8. CSS动态表达式

    样式:style:expression(脚本) 如: 1 _top: expression(this.offsetHeight); _top: expression(eval(document.doc ...

  9. 2019年JVM面试都问了什么?快看看这22道面试题!(附答案解析)

    一. Java 类加载过程? Java 类加载需要经历一下 7 个过程: 1. 加载 加载是类加载的第一个过程,在这个阶段,将完成一下三件事情: • 通过一个类的全限定名获取该类的二进制流. • 将该 ...

  10. eclipse设置护眼模式,就是设置为黑色背景,

    效果如上图 首先下载jar包,然后放到下面的目录,然后打开eclipse然后选择哪个dark的那个主题就可以了 然而这里只是设置软件部分的, 代码的背景和高亮显示,是在另外一个地方设置, 一般是下载e ...