MySQL学习【第二篇安装】
一.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学习【第二篇安装】的更多相关文章
- 小白两篇博客熟练操作MySQL 之 第二篇
小白两篇博客熟练操作MySQL 之 第二篇 一. 视图 视图是一个虚拟表,其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用名称即可获取结果集, 并可以将其当做表来使用. s ...
- Java并发包下锁学习第二篇Java并发基础框架-队列同步器介绍
Java并发包下锁学习第二篇队列同步器 还记得在第一篇文章中,讲到的locks包下的类结果图吗?如下图: 从图中,我们可以看到AbstractQueuedSynchronizer这个类很重要(在本 ...
- MySQL学习笔记01-MYSQL安装
一 MySQL简介 MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司. MySQL 最流行的关系型数据库管理系统. MySQL分为企业版和社区版. ...
- 从.Net到Java学习第二篇——IDEA and start spring boot
从.Net到Java学习第一篇——开篇 所谓工欲善其事,必先利其器,做java开发也一样,在比较了目前最流行的几个java IDE(eclipse,myeclipse.IDEA)之后,我果断选择IDE ...
- Java泛型学习---第二篇
泛型学习第一篇 1.泛型之擦拭法 泛型是一种类似"模板代码"的技术,不同语言的泛型实现方式不一定相同. Java语言的泛型实现方式是擦拭法(Type Erasure). 所谓擦拭法 ...
- [知了堂学习笔记]_牵线Eclipse和Tomcat第二篇 —— 安装Tomcat&&添加Tomcat到Eclipse
来了来了~~~~~我们的"织女"--Tomcat来了,牛郎们等急了吧!哈哈! 一.安装Tomcat 下载地址:http://tomcat.apache.org/download-7 ...
- zookeeper学习记录第二篇-----安装、配置、启动
搭建zk集群,起码保证3台虚拟机的配置,本人使用的虚拟机环境为wm14+centos7+jdk1.8 下载地址 zk的tar包下载地址:http://mirror.bit.edu.cn/apache/ ...
- python应用:爬虫框架Scrapy系统学习第二篇——windows下安装scrapy
windows下安装scrapy 依次执行下列操作: pip install wheel pip install lxml pip install PyOpenssl 安装Microsoft visu ...
- Entity Framework with MySQL 学习笔记一(安装)
声明 : 数据库是Mysql,本人的程度只到会写sql语句(不会储蓄过程), c# 会基本的ADO.NET数据库访问,LINQ基础. 这篇只做个人学习|温习作用. 新手可以参考,也请高手指正错误, ...
随机推荐
- 合理选择css3动画实现方式
使用css3实现动画,比js控制DOM属性的方式要高效很多.流畅很多,主要分transition和animation两大方式. transition适用于一次性变换 animation适用于循环动画和 ...
- 记一次es和mq的netty冲突
1.今天在服务里面加了 es 6.4的 依赖包后,在预发布测试时候出现了下列的问题 看了 半天,最后发现是 es的 jar包 和 mq的 netty包 有冲突.然后去idea的 jar包依赖里面查 ...
- java笔记--守护线程的应用
守护线程的应用 Java中的线程可以分为两类,即用户线程和守护线程.用户线程是为了完成任务,而守护线程是为其他线程服务 --如果朋友您想转载本文章请注明转载地址"http://www.cnb ...
- Vue2学习笔记:数据交互vue-resource
基本语法 必须引入一个库:vue-resource github地址 // 基于全局Vue对象使用http Vue.http.get('/someUrl', [options]).then(succe ...
- Vue2学习笔记:实例
1.实例 <!DOCTYPE html> <html> <head> <title></title> <script src=&quo ...
- 奇怪的等待事件“enq: ss - contention”
数据库有时会遇到大量的进程发生'enq: ss - contention'等待,持续5到10分钟,然后自动消失.从字面上看,'SS'是Sort Segment: select * from v$loc ...
- Lambda表达式学习记录
Lambda表达式可以简化C#编程的某些方面,用法非常灵活.因此也不容易掌握. 下边是我学Lambda表达式的一点记录. 1.Lambda表达式是与委托紧密联系的.只要有委托参数类型的地方,就可以使用 ...
- Linux ss命令详解
ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息 ...
- 初识HTML和WEB标准
初识HTML和WEB标准 什么是 HTML? HTML 超文本标记语言的缩写(Hyper Text Markup Language) HTML 并不是编程语言,而是一种标记语言(markup lang ...
- 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 ...