文档章节

二进制方式 安装MySQL

star_glm
 star_glm
发布于 2016/06/22 17:57
字数 1552
阅读 31
收藏 1

码上生花,ECharts 作品展示赛正式启动!>>>

注:于 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二进制安装方式安装完成!

© 著作权归作者所有

star_glm
粉丝 23
博文 16
码字总数 16450
作品 0
昌平
数据库管理员
私信 提问
加载中
请先登录后再评论。
Mysql 运维管理-Mysql数据库的多种安装方法2

MySQL数据库的安装 1 yum/rpm方式安装 注意:yum/rpm方式安装MySQL适合所有MySQL软件产品系列。 (1)rpm包方式安装mysql 我们必须安装Mysql-server和Mysql.client包,rpm安装很简单这里就不...

osc_mi06gsf5
2018/03/13
3
0
mysql5.7&CentOS6.8二进制方式安装

【mysql】mysql5.7&CentOS6.8二进制方式安装 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/debimeng/article/details/80362087 mysql5.7&CentOS6.8二进制方...

rootliu
2019/03/05
30
0
centos7.4三种方式安装mysql5.7

三种方式安装 mysql 二进制 rpm 安装 mysql5.7.21 下载 yum repository 下载的软件包用md5加密与官网的md5值比较,看是否被人更改 [root@apenglinux-002 ~]# md5sum mysql57-community-rele...

studywinwin
2018/04/14
0
0
实战三种方式部署 MySQL5.7

作者:北京运维常见的 MySQL 安装方式有如下三种: RPM 包方式:这种方式安装适合对数据库要求不太高的场合,安装速度快; 通用二进制包方式:安装速度相较于源码方式快,可以自定义安装目录。...

osc_a22drz29
2019/03/21
4
0
卸载mysql

如何在Linux下卸载MySQL数据库呢? 下面总结、整理了一下Linux平台下卸载MySQL的方法。 MySQL的安装主要有三种方式:二进制包安装(Using Generic Binaries)、RPM包安装、源码安装。对应不同...

吴之恒心
2017/07/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

BIO、NIO、AIO、Netty面试题

https://juejin.im/post/5e9421836fb9a03c7b3051bb

JaneRoad
22分钟前
19
0
elementui table缩略图滑过放大图片

html中 <el-table-column prop="qr_image" label="缩略图" width="180"> <template slot-scope="scope"> <el-popover trigger="hover" title="" placem......

大换子
31分钟前
16
0
家谱软件中的循环 - Cycles in family tree software

问题: I am the developer of some family tree software (written in C++ and Qt). 我是一些家庭树软件的开发者(用C ++和Qt编写)。 I had no problems until one of my customers mailed......

javail
33分钟前
23
0
MySQL 多表关联一对多查询取最新的一条数据

SQL语句 SELECT SQL_CALC_FOUND_ROWS* FROMtableA aLEFT JOIN (SELECTBC.* FROM( SELECT MAX( id ) AS cid FROM tableB GROUP BY code ) ACLEFT JOIN tableB B...

珞木橘子
40分钟前
16
0
nacos的启动方式以及注意的点

这个单机模式的启动方式 sh startup.sh -m standalone 注意,必须要加参数,如果不加参数启动了,无法正常访问 如果在用这个命令(sh startup.sh -m standalone)之前直接使用sh startup.sh ,...

千年典韦
50分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部