二进制方式 安装MySQL
博客专区 > star_glm 的博客 > 博客详情
二进制方式 安装MySQL
star_glm 发表于1年前
二进制方式 安装MySQL
  • 发表于 1年前
  • 阅读 14
  • 收藏 1
  • 点赞 0
  • 评论 0

注:于 2017年6月份 更新了该文章

一、mysql的各个文件的作用 

目录 目录解释
bin, scripts mysqld server, client and utility programs(实用程序)
data Log files, databases(存放日志文件,数据库)
docs MySQL manual in Info format(文档)
man Unix manual pages(说明书)
include Include (header) files
lib Libraries (库)
share Miscellaneous support files, including error messages, sample configuration files, SQL for database installation(各种支持文件:错误信息,示例配置文件,SQL数据库安装)
sql-bench Benchmarks(基准)

 

二、使用二进制方式安装MySQL     

1、获取MySQL安装包

从官网下载MySQL安装包:http://dev.mysql.com/downloads/

版本:GA 、DMR 、RC 、Beta

  • 一般,使用GA版本安装。
  • DMR:开发版,未完善完整。
  • Beta:在DMR的基础上,进一步完善,但仍然不完整,未正式公布。

在官网下载MySQL时,可以留意下MD5:

  • MD5 文件作用:校验下载的软件 是否安全、是否有损坏。
  • 命令:md5sum   软件安装包名
  • 在线上使用,下载到软件安装包,最好校验一下,避免安装失败。

2、安装前准备 之 配置Linux环境

(1) 关闭numa

  • 即使是多实例,也建议关闭!
  • 关闭numa,需要重启Linux系统,若不想重启Linux,可以在启动mysql之前 执行:
    • numactl  -interleave=all  /path/mysqld  --defaults-file=/path/my.cnf  &
  • 查看numa是否关闭:
    • numactl  --show    或     numactl  --hardware

(2) 限制设置 /etc/security/limits.conf

主要的参数:

① open files

  • 针对的错误:too many open file:24 或 os error code 11:resource temporarily unavailable
  • 通过配置参数来避免以上两个错误:
    • 在/etc/rc.local 文件,配置  ulimit  -Sn  65535  和  ulimit  -Su  10000
    • 或者 在 limit.conf文件中添加四个参数:
      • hard   nproc  65535
      • soft     nproc  65535
      • hard   nofile   65535
      • soft     nofile   65535

② max user processes

(3) swap

要么不分配swap,要么最多分配4G!

查看swap 存放的位置:sysctl  -a |grep swap

建议禁掉swappiness,操作为:

  • 首先,直接执行 sysctl  -w  vm.swapiness=0
  • 然后,在文件/etc/sysctl.conf 中添加一行  vm.swapiness=0  ,以实现在系统重启之后,通过文件指定生效

(4) 文件系统的选择

推荐XFS,也可以使用 ext4。

(5) selinux and iptables

常见的相关报错:Errcode: 13 - Permission denied    ——selinux影响所致

关闭selinux:

  • 首先,setenforce  0
  • 然后,修改文件/etc/sysconfig/selinux  ,以实现在系统重启之后,通过文件指定生效

查看selinux是否关闭:

  • getenforce       # 若显示 disables 即为已关闭

iptables:

  • 一般在内网环境会关闭。
  • 关闭的命令:chkconfig  --del  iptables

3、安装MySQL

(1) 为MySQL创建 使用的 账户

groupadd  mysql      # 创建 名为mysql的组

useradd -g mysql -d /usr/local/mysql -s /sbin/nologin -M mysql 
 
id mysql             # 确认用户创建成功  

     命令解释:

  • groupadd 创建一个组;useradd 创建一个用户;
  • 由于/sbin/nologin ,使得 创建的账号 不可以登录;
  • -g mysql 即指定用户属于mysql组;-d /path 即指定用户登入是的启动目录;
  • -s /path 即用户登录后使用的shell;-M 即不自动创建用户登录目录;mysql 即创建的用户名。

(2) 基本的软件 安装

mkdir /opt/mysql

cd /opt/mysql

tar  xzvf  mysql-5.7.18-linix-glibc2.5-x86_64.tar.gz

# 使该目录属于 mysql组和mysql用户,由于mysql目录是软链接,继而真实文件同时会被修改属组属主
chown -R mysql:mysql  mysqll-5.7.18-linix-glibc2.5-x86_64 

cd /usr/local

# 在/usr/local下创建一个解压目录的软链接,名为 mysql目录
ln -s  /opt/mysql/mysql-5.7.18-linix-glibc2.5-x86_64  mysql        

(3) 修改配置文件 和 创建一些数据库相关的目录

① 修改配置文件 :/etc/my.cnf 

  • mysql --help|grep my.cnf      
    • # 查看my.cnf的默认路径,确认该路径下是否存在my.cnf,默认路径没有最好,若在两处有,则会从前开始加载执行到最后一个配置文件,如果某参数在两处都有,那么在后面的配置文件会覆盖前面的。
  • ln  /usr/my.cnf  /etc/my.cnf      
    • # 找到my.cnf文件,将该文件硬链接到my.cnf默认的路径一份 (一般使用/etc/my.cnf)

② 配置文件 my.cnf 中的 目录 设计

  • 建议 将数据库的数据和日志存放在一个单独挂载的目录下!
  • /data  是一个单独挂载的分区
  • datadir    /data/mysql/mysql3306/data
  • log-bin    /data/mysql/mysql3306/logs/mysql-bin
  • tmpdir     /data/mysql/mysql3306/tmp

③ 创建目录:

  • mkdir  /data/mysql/mysql3306/{data,logs,tmp} -p                # 根据my.cnf创建目录

基本的配置文件内容:

[mysqld]
user    = mysql
port    = 3306
basedir = /usr/local/mysql
datadir = /data/mysql/mysql3306/data
socket  = /data/mysql/mysql3306/data/mysql3306.sock
log_error = /data/mysql/mysql3306/data/error.log
pid-file = mysql3306.pid
character-set-server = utf8mb4
log-bin = /data/mysql/mysql3306/logs/mysql-bin
……

(4) 初始化

初始化 即:将一些重要的文件创建了,比如 :数据存储的ibdata文件,日志文件等。

针对 mysql 5.7 版本,如下操作:

  • cd /usr/local/mysql
  • ./bin/mysqld  --defaults-file=/etc/my.cnf  --initialize
    • 执行本条命令,没有返回消息,就是好消息
  • 执行完上条命令,若报错,可以查看/data/mysql/mysql3306/data/error.log  文件中的 [error]

针对 mysql 5.6,5.5 版本,如下操作:

  • cd /usr/local/mysql
  • ./script/mysql_db_install     或   ./bin/mysql_db_install

(5) 启动

cd /usr/local/mysql
cp support-files/mysql.server  /etc/init.d/mysql
/etc/init.d/mysql  start
ps axu |grep mysqld     # 查看mysql是否启动

扩展:

MySQL一般不使用系统自启动,若因报错退出,需要解决完问题手工启动,以下有两种手工启动方式:

  • /usr/local/mysql/bin/mysqld  --defaults-file=/etc/my.cnf  &          # 一般使用它​​​​
  • /usr/local/mysql/bin/mysqld_safe  --defaults-file=/etc/my.cnf  &

 

将 bin 目录下的命令添加到PATH变量中:

  • export PATH=$PATH:/usr/local/mysql/bin

(6) 第一次 连接和登录 mysql

# root 用户 会创建一个临时的密码,查看,并记下,用于第一次登录使用

  • cat /data/mysql/mysql3306/data/error.log |grep  "password"

# 使得 命令mysql 可以使用

  • echo "export PATH=$PATH:/usr/local/mysql/bin"  >>/etc/profile

# 连接mysql ,使用记下的临时密码

  • mysql  -S  /tmp/mysql3306.sock -p

# 修改密码,在5.7 版本中,若不修改密码,之后操作会报错!

  • > alter user user() identified by 'guolm';

# 定制mysql登录后的提示符:(在 my.cnf 添加)

[mysql]

prompt="\u@centos \\h:\\p [\\d]> "

(7) 关闭 mysql

普通的关闭方法:

  • /etc/init.d/mysql  stop   或   service  mysql  stop

若使用以上的手工启动的方法,在关闭时需要使用如下命令:

  • mysqladmin  -S  /tmp/mysql3306.sock   -p  shutdown

至此,mysql二进制安装方式安装完成!

标签: MySQL
共有 人打赏支持
粉丝 19
博文 13
码字总数 13693
×
star_glm
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: