一.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