当前位置: 移动技术网 > IT编程>数据库>Mysql > MySQL学习【第二篇安装】

MySQL学习【第二篇安装】

2019年03月23日  | 移动技术网IT编程  | 我要评论
一.Mysql安装方式 1.安装方式 1.rpm,yum安装 安装方便,安装速度快,但无法定制 2.二进制安装 不需要安装,解压即用,不能定制功能 3.编译安装 可定制,安装很慢,安装分为四个步骤 1.1 解压(tar) 1.2 生成(./configure)或者cmake 1.3 编译(make) ...

一.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.40.tar.gz

 

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

root@db01 ~]# cd mysql-5.6.40

 

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

[root@db01 ~]# mkdir /application

 6)生成编译文件

[root@db01 mysql-5.6.40]# cmake . -dcmake_install_prefix=/application/mysql-5.6.40 \
#程序存放位置 
-dmysql_datadir=/application/mysql-5.6.40/data \ 
#数据存放位置
-dmysql_unix_addr=/application/mysql-5.6.40/tmp/mysql.sock \
#使用utf8字符集
-ddefault_charset=utf8 \
#校验规则
-ddefault_collation=utf8_general_ci \
#使用其他额外的字符集
-dwith_extra_charsets=all \ #支持的存储引擎
-dwith_innobase_storage_engine=1 \ 
-dwith_federated_storage_engine=1 \
-dwith_blackhole_storage_engine=1 \
#禁用的存储引擎
-dwithout_example_storage_engine=1 \
-dwith_zlib=bundled \ #启用zlib库支持(zib、gzib相关)
-dwith_ssl=bundled \ #启用ssl库支持(安全套接层)
-denabled_local_infile=1 \ #启用本地数据导入支持
-dwith_embedded_server=1 \ #编译嵌入式服务器支持
-denable_downloads=1 \ 
# mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。
-dwith_debug=0 #禁用debug(默认为禁用)

 

7)编译安装

[root@db01 mysql-5.6.40]# make && make install

 

8)创建mysql用户

[root@db01 mysql-5.6.40]# useradd mysql -s /sbin/nologin -m

 

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

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

 

10)进入文件目录

[root@db01 mysql-5.6.40]#  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.40/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(8)
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 = 5000

[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.40-linux-glibc2.12-x86_64.tar.gz 

2)创建mysql安装目录

[root@db02 ~]# mkdir /application

 

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

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

 

4)做软连接

[root@db02 ~]# ln -s /application/mysql-5.6.40 /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

 

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

  • Ubuntu上Vim安装NERDTree插件的详细操作步骤

    Ubuntu上Vim安装NERDTree插件的详细操作步骤

    nerdtree是vim的文件系统浏览器,使用此插件,用户可以直观地浏览复杂的目录层次结构,快速打开文件以进行读取或编辑,以及执行基本的文件系统操作。nerdt... [阅读全文]
  • MySQL 4种常用的主从复制架构

    MySQL 4种常用的主从复制架构

    一主多从复制架构在主库读取请求压力非常大的场景下,可以通过配置一主多从复制架构实现读写分离,把大量的对实时性要求不是特别高的读请求通过负载均衡分部到多个从库上(... [阅读全文]
  • 浅析MySQL 备份与恢复

    1、简介数据无价,mysql作为一个数据库系统,其备份自然也是非常重要且有必要去做。备份的理由千千万,预防故障,安全需求,回滚,审计,删了又改的需求等等,备份的... [阅读全文]
  • 保障MySQL数据安全的一些建议

    数据是企业核心资产,数据对企业而言是最重要的工作之一。稍有不慎,极有可能发生数据无意泄露,甚至被黑客恶意窃取的风险。每年业界都会传出几起大事件,某知名或不知名的... [阅读全文]
  • MySQL如何快速修改表的表结构

    快速修改mysql某张表的表结构--摘录自《mysql管理之道》alter table 表名 modify 列名 数据类型; 这个命令可以修改表结构此外,也可以... [阅读全文]
  • MySQL 行锁和表锁的含义及区别详解

    一、前言对于行锁和表锁的含义区别,在面试中应该是高频出现的,我们应该对mysql中的锁有一个系统的认识,更详细的需要自行查阅资料,本篇为概括性的总结回答。mys... [阅读全文]
  • MySQL 如何查询当前最新事务ID

    写在前面:在个别时候可能需要查看当前最新的事务 id,以便做一些业务逻辑上的判断(例如利用事务 id 变化以及前后时差,统计每次事务的响应时长等用途)。通常地,... [阅读全文]
  • 如何优雅、安全的关闭MySQL进程

    前言本文分析了 mysqld 进程关闭的过程,以及如何安全、缓和地关闭 mysql 实例,对这个过程不甚清楚的同学可以参考下。关闭过程1、发起 shutdown... [阅读全文]
  • 详解MySQL8.0​ 字典表增强

    详解MySQL8.0​ 字典表增强

    mysql中数据字典是数据库重要的组成部分之一,information_schema首次引入于mysql 5.0,作为一种从正在运行的mysql服务器检索元数据... [阅读全文]
  • 简述MySQL InnoDB存储引擎

    前言:存储引擎是数据库的核心,对于 mysql 来说,存储引擎是以插件的形式运行的。虽然 mysql 支持种类繁多的存储引擎,但最常用的当属 innodb 了,... [阅读全文]
验证码:
移动技术网