zoukankan      html  css  js  c++  java
  • Linux那些事儿 (一)

    1 查看Linux系统版本号
    cat /etc/centos-release
    cat /etc/issue
    2 查看内核版本号
    cat /proc/version 或者 username -r
    3查看计算机主机名
    hostname

    查看主机ip的几种方法

    hostname -i 查看主机的ip
    ip a 查看主机的ip
    ifconfig 查看主机的ip

    windows的盘符可以比喻一颗颗树,
    linux 的盘符是一颗倒立的大叔,所有的路径都是从/根目录开始

    /bin binary 二进制可执行命令,常用的linux操作命令在此文件夹下
    /boot linux操作系统的目录,linux的核心,一般不要去操作它
    /dev 硬件信息的目录
    /etc 系统的或者软件的配置文件目录
    /home 家目录 类似于win 下我的文档
    /media 默认光盘挂载的目录 光盘的信息从这里查看
    /root root用户的家目录
    /sbin super binary 需要超级权限的命令
    /usr 用户操作目录 /usr/local安装软件会选择这里
    /var /var/log 一般系统等软件的日志信息在这里

    windows 下cmd命令行 dos命令行

    ipconfig

    Linux shell命令行

    pwd 显示当前工作目录
    这里写图片描述这里写图片描述

    Linux基本常用的命令

    pwd print work directory 显示当前目录的路径
    ls 短信息格式显示目录结构
    ls -l 长信息格式显示目录结构
    ll ================= >ls -l
    运行模式
    linux 默认拥有7种运行模式
    语法 : init 模式编号
    shell> init 0|3|5|6
    0表示关机
    1 表示单用户模式
    2 表示多用户模式
    3 表示切换到命令行模式 服务一般处于这种模式
    4 表示未被使用的模式
    5表示切换到桌面模式
    6 表示重启

    用户切换
    通过某一个用户登录,可以使用su命令切换另外的用户身份
    语法: su switch user 切换用户

    用户当前身份

    whoami 用户当前身份

    ————————————————————————————————————————

    who am i 用户真实身份

    目录切换
    cd 切换目录 配合pwd使用
    ./当前目录
    ../上级目录
    绝对路径 从/根目录开始的完整路径
    相对路径 当前操作目录开始

    ① 绝对路径方式 cd /root
    ② 相对路径 cd ../../root
    列: 当前操作目录为/usr/local 需要切换到/usr/local/mysql
    ① 绝对路径方式 cd /usr/local/mysql
    ② 相对路径 cd mysql

    文件/文件夹操作
    linux的文件夹操作
    ① 创建 添加 新建

    语法 :mkdir 路径及其名称

    ②移动 重命名

    语法 :mv 现路径 移动到的路径

    ③复制

    语法 : cp 复制路径 复制到的路径
    -R递归进行操作

    ④ 删除

    语法 :rm 删除路径
    -r 递归删除目录

    文件操作
    ①创建 添加 新建

    语法 : touch 路径名称
    touch it.txt

    ②移动 重命名

    mv 移动路径 移动到的路径
    mv it.txt itphp.txt

    ③ 复制

    语法:cp 复制路径 复制到的路径
    cp it.txt it.txt

    ④删除

    语法:rm 路径名称
    -f 强制删除 不提示

    其他命令

    shell> ctrl+c 终结当前操作
    shell> ctrl+a 回到命令行的首部
    shell> ↑+↓ 进行翻看之前执行过的命令
    shell>history //查看之前执行过的命令
    shell> Tab 补全命令 可以节省写入字符的长度

    文件操作

    shell >覆盖写 会写在同一行,把原来的内容替换掉
    echo 1 > 1.txt
    shell>> 追加写 不会覆盖以前原有的内容
    echo 4 >> 1.txt
    cat 查看文件所有的内容
    more filename //回车方式逐行查看文件的内容
    less filename //上下左右键 查看文件的各个部分内容
    head -n filename //查看文件前n行的内容
    tail -n filename //查看文件最末尾n行的内容
    tail -f filename //查看文件末尾最后10行的内容
    tailf filename //查看文件末尾最后10行的内容
    wc -l filename //计算文件行数 word count


    vim 编辑器
    vim 编辑器里不要使用数字小键盘 ,会出现不一样的效果
    vim编辑器三种模式
    这里写图片描述
    命令行模式
    ① vim 文件路径 直接打开文件
    ②vim +行号 打开文件的指定行号
    光标移动
    最简单的操作 可以通过键盘的上下左右方向键进行操作
    ① 字符级 上k 下j 左 h 右 l
    ② 单词级 b上个单词首字母 w下个单词首字母 e 下个单词的尾字母
    ③ 行级 0 行首 $ 行尾
    ④段落级 {段落首部 }段落尾部
    ⑤屏幕级 H屏幕首部 L屏幕尾部
    ⑥ 文档级 G 文档尾行 1G文件首行 nG文档第n行

    删除
    dd 删除光标所在行
    n+ dd 删除光标所在行的以下几行
    删除类似于剪切操作,可以通过p命令把删除的内容再粘贴出来

    复制
    yy 复制光标所在行
    n+yy 复制光标所在行的以下几行
    p 粘贴出来

    编辑模式
    从命令模式进入到编辑模式
    ① a 光标所在行字符后
    ② i 光标所在行
    ③ o 光标所在行的另起一行
    ④ s 光标做在行,并删除光标所在行的字符
    从编辑模式回到命令模式 通过键盘左上角的ESC键
    尾行模式
    保存文件 退出编辑器,都需要在末行模式进行
    编辑模式不能够直接进入尾行模式,需要通过命令模式进行中转。
    命令模式进入尾行模式:
    ① shift+; : 保存退出
    ② / 查找替换

    保存/另存
    :w 保存文件
    退出
    q 退出编辑器
    :wq 保存并退出
    :q! 退出不保存 强制退出
    wq and x的区别
    :wq 强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。:x 写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。这两者一般情况下没什么不一样,但是在编程方面,对编辑源文件可能会产生重要影响。因为文件即使没有修改,”:wq”强制更新文件的修改时间,这样会让make编译整个项目时以为文件被修改过了,然后就得重新编译链接生成可执行文件。这可能会产生让人误解的后果,当然也产生了不必要的系统资源花销。

    查找
    ① :/内容/
    ② /内容 查找内容(小写n 下一个/大写N上一个)
    取消高亮
    :nohl
    :set nohls
    替换
    ①:s/cont1/cont2/ 光标所在行的第一个cont1替换为cont2
    ②:s/cont1/cont2/g 光标所在行的全部cont1 替换为cont2
    ③:%s/cont1/cont2/g 文档中全部cont1替换为cont2

    默认开启vim行号
    :set nu //显示行号
    :set nonu //去掉行号
    如果想要永久设置用户的vim编辑器的行号,可以在用户的家目录中创建一个vim的配置文件
    ①在/root家目录创建.vimrc文件
    vim打开文件 当打开文件会自动创建
    pwd
    编辑文件里的内容
    set nu
    开启行号
    x 和 X
    :x 保存并退出 可以代替wq
    :X 加密文件
    注意不要随意加密系统文件 ,可能会出现系统不能操作的文件
    重做和撤销
    ①当文件进行修改之后,如果想撤销/重做,则可以在末行模式中输入:u,来撤销上一步的操作。(win下的ctrl+z)undo
    ②如果这个时候想取消撤销,可以在命令模式中按下组合键ctrl+r。(win下的ctrl+y)
    如果想撤销多步,则可以在末行模式中输入:数字u。

    用户 用户组的管理
    RBACj基于角色的权限控制管理
    角色就相当于用户组
    用户和用户组管理,就是为了方便操作系统,进行权限的分配操作
    用户管理 用户相关信息的记录文件 /etc/passwd
    ①打开并查看用户管理文件
    vim /etc/passwd
    这里写图片描述
    第一列 天蓝色 用户名称
    第二列 粉色密码的占位符
    第三列 红色 用户id 用户组id
    用户id 默认500 之前都是系统保留的 如果想自行设定也可以使用-u参数指定
    第四列 蓝色 备注 -c 参数指定
    第五列 绿色 用户的家目录地址
    第六列 黄色 使用shell命令的方式 nologin 不允许登录 (常见于需要用户执行软件,但是不需要登录的情况)

    增加用户
    useradd 增加用户 默认会创建一个同名组
    -g 组编号 -u 本身编号 -d 家目录 用户名称 //组别,编号 家目录都进行设置
    ①创建一个用户
    shell>useradd itphp
    ②查看配值文件里的用户
    shell>useradd -u666 -c itphp -g500 itphp
    指定用户id,指定用户组id,添加用户备注
    这里写图片描述
    修改用户

    shell> usermod 用户名称
    -l 修改名称
    usermod -l 新名 原名
    shell> usermod -g 501 -c modify itphp
    这里写图片描述

    删除

    userdel 用户名称
    -r 同时删除家目录
    shell> userdel itphp

    如果删除用户及其用户组时,有其他用户在用户组下,就不会删除用户组,只删除用户
    这里写图片描述

    用户组管理
    用户组管理文件 /etc/group
    ①使用vim编辑器打开/etc/group
    shell>vim /etc/group
    ②查看内容及每个参数的意义

    这里写图片描述
    第一列 天蓝色 用户组名称
    第二列 紫色 占位符
    第三列 红色 组id 500 钱为系统保留id
    需求:在公司团队中,有几下几个部门需要使用服务器操作系统。根据需求进行建立用户组,来区别不同用户。
    server 后端 xiaoming xiaohei
    client 前端 xiaohua xiaolv
    app 手机端 tom jerry
    设计实现:需要先把用户组创建出来

    增加用户组
    groupadd 添加用户组
    -g 组 id
    ①建立三个用户组

    shell > groupadd server
    shell > groupadd client
    shell > groupadd app -g 768

    ②查看组配置文件
    这里写图片描述
    ③ 创建用户并给用户指定对应的分组
    通过添加用户命令的方式,进行指定新用户的分组

    shell > useradd xiaoming -g 502
    xiaoming被添加到502的server组

    这里写图片描述

    修改
    groupmod 用户组名称
    -g 修改gid
    -n 修改组名称
    shell>groupmod server -g 520 -n Server
    删除
    groupdel 用户组名称
    groupdel Server
    如果用户组下面存在用户,用户组不能够删除
    删除用户之后,再进行用户组的删除操作


    设置用户密码及其用户切换
    这里写图片描述
    ①给创建的新用户增加密码
    这里写图片描述
    在添加密码之后,用户可以正常登陆了。
    用户之间的切换,可以使用su命令进行操作。
    普通用户没有操作root家目录的权限
    ①通过ls -l 或者ll 查看文件夹或者文件的权限
    这里写图片描述
    这里写图片描述
    权限一般分为三种
    ①读权限 read 4
    ②写权限 write 2
    ③执行权限 x 1
    第1列 文档的类型 表示是文件还是文件夹 -代表文件 d代表文件夹
    第2-4列 文件所有者的权限
    第5-7列 文件所有者同组用户的权限
    第8-10列 其他用户 既不是用户本身,有不同和文件的用户是同组

    修改权限语法:

    chmod 字符形式设置|数字形式设置
    ugo方式设置
    增加权限+
    取消权限-
    同时可以直接重新设置权限
    user文件所有者 group文件所有者所在组 other 其他用户
    给root目录,其他用户增加rx权限

    shell > chmod o+rx /root

    这里写图片描述
    给root目录,所有用户增加写权限

    shell > chmod ugo+w /root
    这里写图片描述
    数字形式设置
    把对应的权限代表的数字进行相加,然后三位数字进行设置
    第1位 文件所有者
    第2位 文件所有者用户组
    第3位 其他用户
    r 4 w 2 x 1
    问:777 664 674权限?
    777 所有用户具有所有权限
    664 文件所有者及其组用户具有读写权限,其他用户具有读权限
    764 文件所有者具有所有权限,用户组具有读写权限,其他用户具有读权限
    ①给/root目录所有权限
    shell > chmod 777 /root

    这里写图片描述

    ②恢复原来root目录的原始权限
    原来root目录是drwxr-x—
    shell > chmod 750 /root

    文件所属设置

    chown 用户.用户组 文件路径chow名称
    chown 用户名 文件
    chown .组 文件
    chown 用户.组 文件
    ①使用root用户身份在/根目录下建立itcast文件夹
    这里写图片描述
    这里写图片描述
    文件所有者具有所有权限 组用户和其他用户具有读和执行权限
    ②切换到ithm5用户,进行在itcast目录里创建文件
    这里写图片描述
    没有权限进行操作
    ③通过root用户身份把/itcast文件夹的文件所属交付给ithm5
    这里写图片描述

    这里写图片描述
    文件夹及其子文件夹和文件的权限或者所属关系都改变,需要在命令后加入-R 参数
    语法:
    chmod -R 权限数字 文件夹路径名称
    chown -R 用户用户组 文件夹路径名称
    五、系统常用命令 —-> 了解下
    1 . grep
    文本搜索命令,可以帮助用户快速查看文件内容中,是否存在查询的字符
    这里写图片描述
    搜索文本里是否存在某个字符
    这里写图片描述
    2

    shell>du -h
    查看文件所占空间大小
    最小单位为4
    3


    shell >date & cal
    查看系统的时间

    4__

    df -lh
    查看系统的硬盘使用情况


    5

    free
    free 空闲 内存使用显示

    这里写图片描述
    6
    管道pipe
    | 管道命令符 前边的结果,作为后面的参数
    这里写图片描述
    7
    find
    find 查询路径 【参数】 查找文件名称
    -name 文件名称 通过文件名称找文件所在的路径
    注意在搜索中,路径尽量使用较小范围的,否则会特别慢
    这里写图片描述
    这里写图片描述



    ssh 协议
    协议就是数据传输的规范和标准
    http 80 https 加密(ssl)的http 443 mysql 3306
    pop3(邮局协议版本3)110 smtp(简单邮件传输协议) 25
    ssh协议 基于ssl加密的远程连接协议。 端口22
    telnet 是之前用到的远程连接协议。
    使用某种服务 需要协议和端口号 IP 启动一个服务
    ①查看服务状态
    语法

    service   服务名称   操作 [start|stop|status] 启动|关闭|状态
    sshd  
    shell>service   sshd  status 

    查看ip地址连接ssh远程服务

    ifconfig

    ps 查看系统进程
    ps -A|grep 查询的进程
    这里写图片描述

    利用ssh工具实现跨平台传输文件

    语法格式(windows中文件传输到linux中)

    pscp windows中的文件路径 用户名@主机地址:文件的保存路径

    这里写图片描述

    ②打开cmd命令行并拖入软件
    注意一定要使用root用户登录操作
    cmd > H:系统镜像程序PSCP.EXE E:itcastithm5linuxday2软件amp* root@192.168.127.126:/root/data

    利用sftp工具实现文件的上传/下载

    同类工具有filezilla winscp
    sftp 基于ssh加密的文件传输协议 更加安全 端口22
    ftp 文件传输协议 端口是21
    使用支持sftp的工具进行软件的上传操作
    安装的软件:filezilla
    光盘挂载及其软件安装方式
    光盘挂载
    默认光盘挂载目录 /media
    挂载windows系统下,如果放入光盘会自动分配一个盘符
    linux 系统下,命令行模式下不会自动分配,需要手动进行挂载光盘[U盘、移动硬盘]到一个目录,类似于一个快捷方式,使能够获取到光盘的内容信息
    虚拟机里的linux,想要使用centos光盘里的软件,需要挂载
    操作步骤:
    ①将光盘放入光驱中
    ②查看是否自动挂载
    图形界面下,会自动进行光盘的挂载,但是服务器是命令行模式的,它需要进行手动挂载
    ③查看光盘的挂载点及其光驱设备

    shell > lsblk

    ④卸载光盘并进行手动挂载

    umout /dev/sr0

    创建/dvd目录

    mkdir dvd

    挂载到目录/dvd下

    语法:mount 设备名称 挂载路径

    shell > mount /dev/sr0 /dvd


    软件安装方式介绍

    ①rpm 安装方式 二进制安装包 通过安装包进行软件安装
    ②yum安装 云安装方式 类似于软件管家
    ③源码编译方式 编程语言C++ 编写的软件

    一 rpm方式

    redhat系列 .rpm
    debian ubuntu的软件安装包 .deb
    macos .dmg
    ①查询软件
    语法 :

    rpm -qa[|grep] 需要查询的关键词

    参数解释:
    -q:表示query,查询
    -a:表示全部,all
    |:管道命令
    grep:表示从结果中进行过滤
    ②卸载软件
    语法:

    rpm –e 需要卸载的软件名称(软件完整名称,即通过查询得到的名称) [–nodeps]

    参数说明:
    -e:表示卸载
    –nodeps:表示忽略依赖关系

    ③安装软件
    语法:

    rpm -ivh 需要安装的软件完整名称

    参数说明:
    -i:表示安装,install
    -v:表示显示进度条
    -h:表示进度条以“#”显示
    跳入安装包目录并查看要安装软件的安装包名称

    二 yum方式

    yum方式 直接从网络源下载,自动解决依赖问题
    类似于在win下的360软件管家或者腾讯软件管家等,会自动帮助更新安装软件
    同类类型软件:
    ubuntu系统的apt-get
    macos 系统的 howbrew ruby语言开发
    一些情况下可能没有网络资源,需要把软件源修改到本地。

    ①配置yum软件源为本地
    cd /etc/yum.repos.d
    关闭网络源,配置光盘源
    注意执行命令的路径
    /etc/yum.repos.d
    mv CentOS-Base.repo CentOS-Base.repo_bak
    先备份 linux下先备份
    cp CentOS-Media.repo CentOs-Media.repbak
    然后在编辑
    vim CentOS-Media.repo
    这里写图片描述

    ②测试完成安装firefox的操作
    语法: yum -y install 安装
    remove 卸载
    list 安装的软件列表

    源码编译方式

    c或者c++语言编写的,需要编译生成可执行的软件
    gcc工具 是GNU组织的编译c语言的工具
    源码编译安装的特点
    ①编译时间长
    ②可以针对软件进行定制修改 可以能够更好的发挥软件的性能
    ③最新版本的软件 rpm都是比较延后的 如果想使用最新版的软件 就需要编译安装
    安装步骤:
    ①./configure 收集设置配置文件信息
    ./configure –help 可以查看配置参数
    ②make 编译生成软件
    ③make install 把生成的软件安装到指定目录
    源码编译的软件,类似于绿色软件,不需要的时候,可以直接删除安装的软件目录,及其已经解压编译过的安装包目录即可。重新安装。

    在linux中如何去解压压缩包

    windows下压缩格式rar zip 7zip
    tar 是linux下压缩包格式
    tar也是一个压缩、解压缩命令
    .gz tar zxvf filename
    .bz tar jxvf filename
    安装zlib压缩库

    shell>#cd /root/data
    shell>#tar -zxvf zlib-1.2.5.tar.gz
    shell>#cd zlib-1.2.5
    shell>#./configure //对当前的程序安装进行配置
    shell>#make && make install //编译&&安装

    安装apache
    在安装Apache之前先卸载掉当前系统中已经默认安装的Apache:
    注意el6,是字母l,不是数字1

    rpm -qa|grep httpd
    rpm -e httpd-2.2.15

    命令

    shell>#cd /root/data
    shell>#tar -jxvf httpd-2.2.19.tar.bz2
    shell>#cd httpd-2.2.19
    shell>#./configure –prefix=/usr/local/http2 –enable-modules=all –enable-mods-shared=all –sysconfdir=/etc/httpd –enable-so
    shell>#make && make install

    –prefix:指定软件的安装目录,如果指定的目录存在,则自动创建;
    –enable-modules:指定加载的模块;
    –enable-mods-shared:表示模块以静态共享的方式进行安装
    –sysconfdir:指定软件的配置文件的存放位置;

    修改Apache配置文件(148行左右),去掉ServerName前的#注释:

    shell>#vim +148 /etc/httpd/httpd.conf
    这里写图片描述

    Apache启动/停止/重启命令:

    shell>#/usr/local/http2/bin/apachectl [start|stop|restart]

    编写测试文件,测试apache的网站目录
    默认apache编译安装的网站目录:/usr/local/http2/htdocs

    shell > vim /usr/local/http2/htdocs/ithm5.html

    inux可以通过ps命令查看进程信息,进程启动了,软件也在运行。
    ps -A|grep 软件名称
    关闭进程:kill 参数 进程pid号
    -9 强制杀死
    -11 进程正常使用进行操作不杀死,等空闲时杀死
    批量通过进程名称杀死进程 killall httpd
    这里写图片描述
    TIP:卸载删除重新编译安装的软件
    注意停止软件之后,再删除软件目录
    问题:可能在安装好apache之后,通过ps进程命令查看,apache也是正常启动的,但是就是不能过访问,可以测试判断是否为防火墙问题,选择临时关闭或者在防火墙设置开启http协议。
    解决:在防火墙设置通过http规则
    ①使用setup进行系统设置

    安装libxml2

    shell>#cd /root/data
    shell>#tar -zxvf libxml2-2.7.2.tar.gz
    shell>#cd libxml2-2.7.2
    shell>#./configure –prefix=/usr/local/libxml2 –without-zlib
    shell>#make && make install

    –without-zlib:不需要zlib依赖

    安装jpeg8

    shell>#cd /root/data
    shell>#tar -zxvf jpegsrc.v8b.tar.gz
    shell>#cd jpeg-8b
    shell>#./configure –prefix=/usr/local/jpeg –enable-shared –enable-static
    shell>#make && make install

    安装libpng

    shell>#cd /root/data
    shell>#tar -zxvf libpng-1.4.3.tar.gz
    shell>#cd libpng-1.4.3
    shell>#./configure
    shell>#make && make install

    安装freetype(字体库软件)

    shell>#cd /root/data
    shell>#tar -zxvf freetype-2.4.1.tar.gz
    shell>#cd freetype-2.4.1
    shell>#./configure –prefix=/usr/local/freetype
    shell>#make && make install

    安装GD库(处理图片的扩展)

    shell>#cd /root/data
    shell>#tar -zxvf gd-2.0.35.tar.gz
    shell>#cd gd-2.0.35
    shell>#./configure –prefix=/usr/local/gd –with-jpeg=/usr/local/jpeg/ –with-png –with-zlib –with-freetype=/usr/local/freetype
    shell>#make && make install

    –with-jpeg:说明需要jpeg扩展
    –with-png:说明需要png扩展

    安装openssl
    Openssl是php的一个扩展,作用是支持加密(加密套件),用于https协议。

    shell>#cd /root/data
    shell>#tar -zxvf openssl-1.0.1t.tar.gz
    shell>#cd ./openssl-1.0.1t
    shell>#./config –prefix=/usr/local/openssl
    shell>#make && make install

    安装php
    把php5.4安装包上传到之前的服务器安装包目录

    shell>#cd /root/data
    shell>#tar zxvf php-5.4.45.tar.gz
    shell>#cd php-src-php-5.4.45/
    此包为开发者包,没有configure,需要通过buildconf生成configure
    shell>#./buildconf –force
    shell>#./configure –prefix=/usr/local/php –with-apxs2=/usr/local/http2/bin/apxs –with-mysql=mysqlnd –with-pdo-mysql=mysqlnd –with-mysqli=mysqlnd –with-freetype-dir=/usr/local/freetype –with-gd=/usr/local/gd –with-zlib –with-libxml-dir=/usr/local/libxml2 –with-jpeg-dir=/usr/local/jpeg –with-png-dir –enable-mbstring=all –enable-mbregex –enable-shared –with-openssl-dir=/usr/local/openssl –with-openssl –without-pear
    shell>#make && make install

    –without-pear pear包管理工具 默认会联网下载,如果没有网络的话,就可能不能继续执行,加入此参数,不进行此pear包的安装
    这里写图片描述
    通过网络查询,找到解决方案,修改gb类库文件解决此问题
    shell > vim /usr/local/gd/include/gd_io.h
    这里写图片描述
    继续make && make install,等待编译之后的显示效果

    配置php使用
    复制php配置文件到指定目录:
    shell>#cp php.ini-development /usr/local/php/lib/php.ini

    修改apache配置文件:

    添加apache的mime类型(355行左右):

    shell>#vim +355 /etc/httpd/httpd.conf

    在mime类型模块中添加:

    AddType application/x-httpd-php .php //让Apache支持解析php文件

    在dir_modul模块添加默认文档声明(218行左右):

    DirectoryIndex index.php index.html

    重启apache:
    shell>#/usr/local/http2/bin/apachectl restart

    需要关闭apache再启动apache生效,因为有时候重启可能会不起作用


    vim +/date php.ini


    安装cmake
    Cmake是一款新的c语言编译器,类似于前面提及gcc、gcc-c++,mysql从5.5之后的版本不再使用别的编译器,只能使用cmake进行编译:

    shell>#cd /root/data
    shell>#tar -zxvf cmake-3.6.0-rc1.tar.gz
    shell>#cd ./cmake-3.6.0-rc1
    shell>#./bootstrap //此处使用的是bootstrap,不是configure
    shell>#gmake
    shell>#gmake install
    可以直接执行cmake查看是否安装成功:
    cmake
    这里写图片描述
    安装ncurses-devel
    这个是mysql的依赖文件,如果不安装会报一个错误
    这里写图片描述
    这个是mysql的依赖文件,如果不安装会报一个错误
    yum -y install ncurses-devel

    安装mysql

    shell>#cd /root/data
    shell>#tar -zxvf mysql-5.5.17.tar.gz
    shell>#cd mysql-5.5.17
    shell>#cmake
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
    -DMYSQL_DATADIR=/usr/local/mysql/data
    -DDEFAULT_CHARSET=utf8
    -DDEFAULT_COLLATION=utf8_general_ci
    shell>#make && make install

    第一个参数 mysql安装到目录
    第二个参数 mysql存储数据文件的位置
    第三个参数 默认字符串编码
    第四个参数 连接时的字符编码排序方式

    配置mysql相关
    生成mysql配置文件(下述命令必须在mysql的解压目录中执行):
    shell>#cp support-files/my-medium.cnf /etc/my.cnf
    如果提示是否覆盖,输入y,然后按下回车
    这里写图片描述
    >

    Mysql用户组及权限设置:
    shell>#useradd mysql
    shell>#chown -R mysql.mysql /usr/local/mysql (设置所有者)

    在linux下装好mysql之后本身没有一些默认的数据,如test数据库。所以需要进行数据库的初始化操作。
    数据库初始化:
    shell>#/usr/local/mysql/scripts/mysql_install_db
    –user=mysql
    –basedir=/usr/local/mysql
    –datadir=/usr/local/mysql/data &

    &符号,表示所在的命令后台执行。

    卡屏时,按下回车。
    把mysql安装文件(除data)的所有者都改为root,避免数据库恢复为出厂设置:
    shell>#chown -R root /usr/local/mysql #将mysql安装目录递归全部改成root所有
    shell>#chown -R mysql /usr/local/mysql/data #除了mysql/data目录之外

    后台运行mysql服务,命令完成按下回车:

    shell>#/usr/local/mysql/bin/mysqld_safe –user=mysql &


    查看mysql是否启动:
    shell>#ps -A | grep mysql
    -A:all
    grep表示过滤

  • 相关阅读:
    为WCF增加UDP绑定(实践篇)
    WCF服务编程-基础
    Entity Framework 数据库先行、模型先行、代码先行
    C# FTP上传下载(支持断点续传)
    使用WCF上传文件
    MySQL · BUG分析 · Rename table 死锁分析
    MySQL · 物理备份 · Percona XtraBackup 备份原理
    MySQL · 答疑解惑 · MySQL 锁问题最佳实践
    MySQL · 特性分析 · MDL 实现分析
    MySQL · 引擎特性 · InnoDB 事务子系统介绍
  • 原文地址:https://www.cnblogs.com/liuqun/p/12655232.html
Copyright © 2011-2022 走看看