一.Mysql安装方式

1.安装方式

1.rpm,yum安装

安装方便,安装速度快,但无法定制

2.二进制安装

不需要安装,解压即用,不能定制功能

3.编译安装

可定制,安装很慢,安装分为四个步骤

  1.1 解压(tar)

  1.2 生成(./configure)或者cmake

  1.3 编译(make)

  1.4安装(make install)

在5.5版本之前 tar ./configure make make install,在5.5版本之后则是cmake 或者gmake

4.可以先编译,然后定制rpm包,制作yum仓库,使用yum安装

特点:速度快,可定制,不过在制作过程过较复杂,制作时间长,在制作完成后极其简单,不用再继续配置

5.企业中选择的安装方式

  5.1 中小型企业:以上方式任选,运维偏向编译安装,dba偏向二进制安装

  5.2 大型企业:可以选择先编译然后定制rpm包,制作yum仓库,然后进行yum安装

2.编译安装

1.解压 tar

2.生成 ./configure (cmake)

3.编译 make

4.安装 make install

1)下载epel源

[root@db01 ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

2)安装依赖

[root@db01 ~]# yum install -y ncurses-devel libaio-devel autoconf cmake gcc gcc-c++ glibc

3)解压mysql源码包

[root@db01 ~]# tar xf mysql-5.6..tar.gz

4)进入解压后的源码目录

root@db01 ~]# cd mysql-5.6.

5)创建目录(为了方便管理,你可以不做)

[root@db01 ~]# mkdir /application

6)生成编译文件

[root@db01 mysql-5.6.]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6. \
#程序存放位置
-DMYSQL_DATADIR=/application/mysql-5.6./data \
#数据存放位置
-DMYSQL_UNIX_ADDR=/application/mysql-5.6./tmp/mysql.sock \
#使用utf8字符集
-DDEFAULT_CHARSET=utf8 \
#校验规则
-DDEFAULT_COLLATION=utf8_general_ci \
#使用其他额外的字符集
-DWITH_EXTRA_CHARSETS=all \ #支持的存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_FEDERATED_STORAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
#禁用的存储引擎
-DWITHOUT_EXAMPLE_STORAGE_ENGINE= \
-DWITH_ZLIB=bundled \ #启用zlib库支持(zib、gzib相关)
-DWITH_SSL=bundled \ #启用SSL库支持(安全套接层)
-DENABLED_LOCAL_INFILE= \ #启用本地数据导入支持
-DWITH_EMBEDDED_SERVER= \ #编译嵌入式服务器支持
-DENABLE_DOWNLOADS= \
# mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。
-DWITH_DEBUG= #禁用debug(默认为禁用)

7)编译安装

[root@db01 mysql-5.6.]# make && make install

8)创建mysql用户

[root@db01 mysql-5.6.]# useradd mysql -s /sbin/nologin -M

9)做软连接(还是那句话,你可以选择不做,一切为了方便,不做,后面有坑,自己排)

[root@db01 mysql-5.6.]# ln -s /application/mysql-5.6. /application/mysql

10)进入文件目录

[root@db01 mysql-5.6.]#  cd /application/mysql/support-files

11)拷贝mysql配置文件

[root@db01 support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y

12)拷贝启动脚本

[root@db01 support-files]# cp mysql.server /etc/init.d/mysqld

13)进入初始化目录

[root@db01 support-files]# cd /application/mysql/scripts

14)初始化mysql

[root@db01 scripts]# ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data

15)创建socket文件所在目录

[root@db01 scripts]# mkdir /application/mysql-5.6./tmp

16)授权mysql服务目录

[root@db01 scripts]# chown -R mysql.mysql /application/mysql*

17)添加环境变量

[root@db01 scripts]# cat /etc/profile.d/mysql.sh
export PATH="/application/mysql/bin:$PATH"

18)启动mysql

[root@db01 scripts]# /etc/init.d/mysqld start

19)启动mysql

[root@db01 scripts]# /etc/init.d/mysqld start

19)用systemctl管理(一般来讲我不用,没必要)

[root@db01 ~]# cat /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld()
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = [root@db01 ~]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS!
[root@db01 ~]# systemctl start mysqld

3.mysql二进制安装步骤

1)解压二进制包(官网上下载)

[root@db02 ~]# tar xf mysql-5.6.-linux-glibc2.-x86_64.tar.gz 

2)创建mysql安装目录

[root@db02 ~]# mkdir /application

3)移动MySQL程序到安装目录

[root@db02 ~]# mv mysql-5.6.-linux-glibc2.-x86_64 /application/mysql-5.6.

4)做软连接

[root@db02 ~]# ln -s /application/mysql-5.6. /application/mysql

5)进入其他文件目录

[root@db02 ~]# cd /application/mysql/support-files

6)拷贝配置文件

[root@db02 support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y

7)拷贝启动脚本

[root@db02 support-files]# cp mysql.server /etc/init.d/mysqld

8)进入初始化目录

[root@db02 support-files]# cd ../scripts/

9)创建mysql用户

[root@db02 scripts]# useradd mysql -s /sbin/nologin -M

10)安装初始化依赖

[root@db02 scripts]# yum install -y autoconf libaio-devel

11)初始化

[root@db02 scripts]# ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data

12)启动mysql

[root@db02 scripts]# /etc/init.d/mysqld start

13)添加环境变量

[root@db02 scripts]# vim /etc/profile.d/mysql.sh
export PATH="/application/mysql/bin:$PATH"

14)修改

[root@db02 scripts]# sed -i 's#/usr/local#/application#g' /etc/init.d/mysqld /application/mysql/bin/mysqld_safe

15)启动

[root@db02 mysql]# /etc/init.d/mysqld start

MySQL学习【第二篇安装】的更多相关文章

  1. 小白两篇博客熟练操作MySQL 之 第二篇

    小白两篇博客熟练操作MySQL  之   第二篇 一. 视图 视图是一个虚拟表,其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用名称即可获取结果集, 并可以将其当做表来使用. s ...

  2. Java并发包下锁学习第二篇Java并发基础框架-队列同步器介绍

    Java并发包下锁学习第二篇队列同步器 还记得在第一篇文章中,讲到的locks包下的类结果图吗?如下图: ​ 从图中,我们可以看到AbstractQueuedSynchronizer这个类很重要(在本 ...

  3. MySQL学习笔记01-MYSQL安装

    一 MySQL简介 MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司. MySQL 最流行的关系型数据库管理系统. MySQL分为企业版和社区版. ...

  4. 从.Net到Java学习第二篇——IDEA and start spring boot

    从.Net到Java学习第一篇——开篇 所谓工欲善其事,必先利其器,做java开发也一样,在比较了目前最流行的几个java IDE(eclipse,myeclipse.IDEA)之后,我果断选择IDE ...

  5. Java泛型学习---第二篇

    泛型学习第一篇 1.泛型之擦拭法 泛型是一种类似"模板代码"的技术,不同语言的泛型实现方式不一定相同. Java语言的泛型实现方式是擦拭法(Type Erasure). 所谓擦拭法 ...

  6. [知了堂学习笔记]_牵线Eclipse和Tomcat第二篇 —— 安装Tomcat&&添加Tomcat到Eclipse

    来了来了~~~~~我们的"织女"--Tomcat来了,牛郎们等急了吧!哈哈! 一.安装Tomcat 下载地址:http://tomcat.apache.org/download-7 ...

  7. zookeeper学习记录第二篇-----安装、配置、启动

    搭建zk集群,起码保证3台虚拟机的配置,本人使用的虚拟机环境为wm14+centos7+jdk1.8 下载地址 zk的tar包下载地址:http://mirror.bit.edu.cn/apache/ ...

  8. python应用:爬虫框架Scrapy系统学习第二篇——windows下安装scrapy

    windows下安装scrapy 依次执行下列操作: pip install wheel pip install lxml pip install PyOpenssl 安装Microsoft visu ...

  9. Entity Framework with MySQL 学习笔记一(安装)

    声明 :  数据库是Mysql,本人的程度只到会写sql语句(不会储蓄过程), c# 会基本的ADO.NET数据库访问,LINQ基础. 这篇只做个人学习|温习作用. 新手可以参考,也请高手指正错误, ...

随机推荐

  1. 合理选择css3动画实现方式

    使用css3实现动画,比js控制DOM属性的方式要高效很多.流畅很多,主要分transition和animation两大方式. transition适用于一次性变换 animation适用于循环动画和 ...

  2. 记一次es和mq的netty冲突

      1.今天在服务里面加了 es 6.4的 依赖包后,在预发布测试时候出现了下列的问题 看了 半天,最后发现是 es的 jar包 和 mq的 netty包 有冲突.然后去idea的 jar包依赖里面查 ...

  3. java笔记--守护线程的应用

    守护线程的应用 Java中的线程可以分为两类,即用户线程和守护线程.用户线程是为了完成任务,而守护线程是为其他线程服务 --如果朋友您想转载本文章请注明转载地址"http://www.cnb ...

  4. Vue2学习笔记:数据交互vue-resource

    基本语法 必须引入一个库:vue-resource github地址 // 基于全局Vue对象使用http Vue.http.get('/someUrl', [options]).then(succe ...

  5. Vue2学习笔记:实例

    1.实例 <!DOCTYPE html> <html> <head> <title></title> <script src=&quo ...

  6. 奇怪的等待事件“enq: ss - contention”

    数据库有时会遇到大量的进程发生'enq: ss - contention'等待,持续5到10分钟,然后自动消失.从字面上看,'SS'是Sort Segment: select * from v$loc ...

  7. Lambda表达式学习记录

    Lambda表达式可以简化C#编程的某些方面,用法非常灵活.因此也不容易掌握. 下边是我学Lambda表达式的一点记录. 1.Lambda表达式是与委托紧密联系的.只要有委托参数类型的地方,就可以使用 ...

  8. Linux ss命令详解

    ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息 ...

  9. 初识HTML和WEB标准

    初识HTML和WEB标准 什么是 HTML? HTML 超文本标记语言的缩写(Hyper Text Markup Language) HTML 并不是编程语言,而是一种标记语言(markup lang ...

  10. opengl redbook Fatal Error in XXXXXX pixel format with necessary capabilities not found

    随便运行书中的一个程序aaindex.c时出现了下面的错误:pixel format with necessary capabilities not found 解决方法: http://www.ed ...