linux运维学习之二进制格式安装
英语文化交流 > 技术博客 > linux运维学习之二进制格式安装
linux运维学习之二进制格式安装
时间:2017-10-12 11:25:48 Linux运维 分类:技术博客

    本 周 给 大 家 带 来 的 是 关 于 mysql的 二 进 制 格 式 的 安 装 ,我 们 对 于 mysql的 安 装 一 般 有 两 种 方 式 ,一 是 通 过 yum安 装 ,二 是 通 过 二 进 制 格 式 的 安 装 ,第 一 种 方 法 yum安 装 的 方 式 非 常 简 单 ,如 下 :

    Centos6:yum install mysql-server
    Centos7:yum instlal mariadb-server

    但 是 简 单 的 背 后 就 是 各 种 限 制 ,数 据 库 文 件 被 限 制 ,配 置 文 件 也 被 限 制 ,软 件 版 本 的 限 制 ,我 们 只 能 被 动 的 使 用 ,而 假 如 我 们 使 用 二 进 制 格 式 的 安 装 就 可 以 指 定 数 据 库 文 件 放 在 什 么 地 方 ,配 置 文 件 也 都 是 我 们 自 己 制 定 ,有 利 于 灵 活 的 使 用 ,还 有 新 版 本 的 使 用 ,还 有 一 种 不 能 的 安 装 方 式 ,那 便 是 自 己 手 动 编 译 安 装 ,因 为 mysql文 件 其 实 蛮 大 的 ,编 译 过 后 可 能 超 过 10G,而 且 编 译 也 须 要 大 量 的 时 间 ,所 以 我 们 就 把 别 人 编 译 过 得 二 进 制 文 件 拿 过 来 安 装 ,本 次 实 验 是 基 于 Centos7,安 装 包 为 mariadb-10.2.8-linux-x86_64.tar.gz

    首 先 ,我 们 须 要 新 建 一 个 mysql的 用 户 ,出 于 安 全 设 置 其 登 录 方 式 为 /sbin/nologin,指 定 其 家 目 录 为 /app/mysqldb,我 的 这 个 /app是 专 门 新 建 的 一 个 文 件 夹 ,因 为 以 后 我 们 的 数 据 库 文 件 会 放 在 这 里 ,在 生 产 环 境 中 ,该 文 件 夹 中 的 数 据 库 会 越 来 越 大 ,假 如 我 们 使 用 的 是 lvm逻 辑 卷 的 方 式 ,还 可 以 扩 展 ,而 使 用 的 普 通 分 区 就 尽 量 选 择 大 一 点 的 文 件 夹 ,新 建 用 户 代 码 如 下 :

useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql

    我 们 须 要 在 https://downloads.mariadb.org/获 取 mariadb-10.2.8-linux-x86_64.tar.gz,然 后 解 压 缩 到 指 定 的 目 录 /usr/local/,这 个 是 固 定 的 目 录 ,不 可 更 改 ,我 们 却 切 换 到 该 目 录 下 ,为 了 方 便 我 们 把 该 目 录 进 行 链 接 为 /mysql

tar xvf mariadb-10.2.8-linux-x86_64.tar.gz  -C /usr/local/
cd /usr/local/
ln -s mariadb-10.2.8-linux-x86_64/ mysql

    做 完 这 些 我 们 查 看 了 一 下 ,在 /etc下 并 没 有 关 于 mysql的 相 关 配 置 ,所 以 须 要 我 们 自 己 来 完 成 该 配 置 文 件 的 完 成 ,新 建 了 一 个 mysql的 目 录 ,是 为 了 便 于 管 理 ,毕 竟 /etc下 的 文 件 许 多 ,找 到 我 们 新 建 的 文 件 中 的 [mysqld]的 下 面 加 入 我 们 须 要 的 三 行 代 码 ,

mkdir /etc/mysql/                
cd /usr/local/mysql/ 
cp support-files/my-huge.cnf  /etc/mysql/my.cnf
vim /etc/mysql/my.cnf
[mysqld]
datadir = /app/mysqldb     #指 定 数 据 库 的 目 录
innodb_file_per_table = on #将 每 个 表 都 放 在 单 独 的 文 件 夹 中
skip_name_resolve = on     #封 禁 主 机 名 解 析 (不 关 闭 ,会 导 致 数 据 库 运 行 慢 )

    然 后 我 们 开 始 指 定 安 装 ,我 们 还 在 /usr/local/mysql/下 ,为 什 么 要 这 样 安 装 呢 ,是 因 为 别 人 在 编 译 脚 本 里 已 经 写 死 了 ,所 以 我 们 在 这 个 相 对 路 径 下 ,才 能 安 装 成 功

scripts/mysql_install_db  --user=mysql --datadir=/app/mysqldb

    安 装 过 后 ,为 了 使 我 们 以 后 的 使 用 更 加 方 便 ,所 以 我 们 须 要 我 们 进 行 以 下 操 作 :

cp  support-files/mysql.server  /etc/init.d/mysqld
chkconfig --list mysqld   #查 看 chkconfig中 是 否 有 我 们 的 mysqld
chkconfig --add mysqld    #添 加 mysqld进 入 chkconfig
service mysqld start      #启 动 mysqld,跟 系 统 应 用 一 样 的 方 式 ,不 过 这 一 步 注 定 会 失 败 

    失 败 的 原 因 是 什 么 呢 ?缺 少 日 志 文 件 ,或 者 说 对 日 志 没 有 读 写 的 权 限 ,所 以 我 们 要 更 改 我 们 要 更 改 文 件 夹 的 所 有 者 或 者 使 用 ACl,为 了 简 便 ,我 使 用 了 改 变 所 有 者 的 方 式 :

mkdir /var/log/mariadb/
chown mysql /var/log/mariadb/
service mysqld start          #启 动 成 功 

    然 后 我 们 须 要 把 执 行 路 径 修 改 一 下 ,因 为 我 们 无 法 使 用 都 打 出 全 部 路 径 ,那 样 也 太 蠢 了 。

vi /etc/profile.d/mysql.sh       #写 入 文 件 ,以 后 也 能 生 效
PATH=/usr/local/mysql/bin:$PATH  #增 加 到 PATH中
 . /etc/profile.d/mysql.sh      #source一 下 ,生 效 。

    然 后 我 们 的 mysql就 算 完 成 了 ,为 什 么 说 算 呢 ?因 为 安 全 隐 患 :mysql安 装 之 后 ,有 安 全 隐 患 ,不 论 什 么 身 份 只 要 在 本 机 ,就 能 以 root登 录 mysql,mysql可 以 匿 名 链 接 ,不 过 权 限 不 大 ,也 算 是 小 安 全 隐 患

解 决 :

/usr/bin/mysql_secure_installation

    这 个 脚 本 是 个 交 互 式 的 ,不 过 很 简 单 ,我 们 在 里 面 关 闭 匿 名 登 录 ,和 设 置 口 令 就 可 以 保 证 mysql的 进 一 步 的 安 全 ,不 过 下 一 次 登 录 时 ,须 要 输 入 密 码 ;

mysql -uroot -p  #-u[user] [-hhost]不 写 默 认 本 机 登 录  -p[PASSWD] 就 是 口 令 

     至 此 我 们 的 mysql的 二 进 制 的 安 装 就 完 成 了 ,然 后 就 可 以 愉 快 的 使 用 了 !


    

随机阅读

Copyright © 2017 英语文化交流 All Rights Reserved.