一.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. Hbase-indexer常用命令

    1. 启动hbase-indexer服务 nohup ./hbase-indexer server -z s1:,s2:,s3:,s4:,s5: > /work/hbase-indexer.lo ...

  2. linux 目录操作命令 mkdir、rmdir、cd -、cp、scp、mv、rm

    mkdir /bin/mkdir-p [目录名] 递归创建 mkdir /tmp/testmkdir /tmp/noexit/test在一个不存在的目录下创建一个目录test,要使用-p选项 可以创建 ...

  3. oracle 中的角色

    conn sys as sysdba;create role testrole;grant create session, create table, unlimited tablespace to ...

  4. Java类的封装

    java中四种不同的限定词限定的成员(成员变量或成员变量方法),访问权限由大到小依次为: public(公共的) 可以被所有的类访问 protected(受保护的) 可以被这个类本身访问 可以被它的子 ...

  5. webpack HMR是如何工作的?

    https://github.com/webpack/docs/wiki/hot-module-replacement-with-webpack https://www.jianshu.com/p/9 ...

  6. sql server 查询ntext字段长度

    DATALENGTH 返回任何表达式所占用的字节数. 语法 DATALENGTH ( expression ) 参数 expression 任何类型的表达式. 返回类型 int 注释 DATALENG ...

  7. Django 补充

    在Django项目的外面操作这个Django内部的models: 当你创建Django项目的时候你在用的时候,你是在这个Django项目中使用的  那么你怎么在你的这个Django项目的外面使用这个D ...

  8. 山寨今日头条的标题title效果

    山寨今日头条的标题title效果 效果: 源码: // // ViewController.m // 今日头条 // // Created by YouXianMing on 14/11/26. // ...

  9. 计算机中的换行符、回车符、\n、\r、\n\r 怎么区分啊?

    '\r'是回车,前者使光标到行首,(carriage return)'\n'是换行,后者使光标下移一格,(line feed) \r 是回车,return\n 是换行,newline对于换行这个动作, ...

  10. APP案例分析-摩拜单车app

    第二次作业-App案例分析 本次案例分析选用的是 摩拜单车IOS5.7.5版本 测试环境为 IPhone 6s (IOS11.0.1,含有3DTOUCH功能).本次案例分析仅针对APP 而言,并不涉及 ...