安装环境:CentOS 6.8
目的:通过通用二进制(Generic Binary)的方式安装MySQL5.6.16
所需软件:mysql-5.6.16-linux-glibc2.5-x86_64.tar(请自行从MySQL官网下载)
步骤:
1.创建mysql用户,mysql组
groupadd -g 3306 mysql
useradd -g mysql -u 3306 -s /sbin/nologin -M mysql
id mysql #查看是否创建成功

2.通过逻辑卷的方式创建MySQL数据目录。
[root@localhost]fdisk /dev/sda
n #新建一个分区
回车 #新建的分区采用默认的磁道初始号
+2G #新建一个2G的分区
t #修改分区的类型
9 #在我的系统上新建的是分区为第九个,所以按9
8e #修改为LVM类型
w #保存退出
[root@localhost]partprobe #通知内核读取分区表
reboot #重启Linux系统
pvcreate /dev/sda9
vgcreate myvg /dev/sda9
lvcreate -L 1G -n mydata myvg #创建逻辑卷
mke2fs -j /dev/myvg/mydata #将逻辑卷格式化为ext3文件系统
mkdir /mydata #创建挂载目录
修改/etc/fstab 设置开机自动挂载/dev/myvg/mydata
vim /etc/fstab
添加最后一行 /dev/myvg/mydata /mydata ext3 defaults 0 0
mount -a #挂载逻辑卷
df #检查逻辑卷是否被挂在了
chown -R mysql.mysql /mydata/data/
chmod -R 750 /mydata/data #这两步非常关键,直接关系到初始化数据库的时候是否有权限在/mydata/data/目录下读写数据

3.将mysql的通用二进制包解压到/usr/local目录下

cd /usr/local
tar xf mysql-5.6.16-linux-glibc2.5-x86_64.tar
#解压后产生了两个压缩包,其中那个mysql-test-5.6.16-linux-glibc2.5-x86_64.tar.gz包没有用删掉
tar xf mysql-5.6.16-linux-glibc2.5-x86_64.tar.gz
ln -sv mysql-5.6.16-linux-glibc2.5-x86_64 mysql #创建一个软链接
cd mysql # 发现有这几个目录bin COPYING lib README share support-files

修改权限 chown -R mysql.mysql . #这一步很重要,一定不要忘了修改权限
其中最重要的目录为support-files 以及bin目录
support-files里面放的是mysql的样例配置文件以及服务启动脚本
bin里面存放的是mysql的重要命令(用于初始化数据库,备份,复制等)
下面初始化数据库 5.7版本之前用的是/bin/mysql_install_db命令,5.7版本后该命令被废弃,改用/bin/mysqld来初始化数据库
bin/mysqld --initialize-insecure --user=mysql --datadir=/mydata/data #初始化数据库并且指定数据目录 --initialize-insecure 用来初始化数据库,并且没有生成密码,如果使用--initialize会为数据库生成一个随机初始密码,在生产环境下请务必为mysql生成一个密码
cp /support_files/mysql.server /etc/init.d/mysqld #提供服务脚本
4.提供mysql的配置文件
这是我的配置文件,里面仅仅做了最简单的配置,后续可以根据具体的需要配置相应的参数
less /etc/my.cnf
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
datadir = /mydata/data/
port=3306
socket=/tmp/mysql.sock
key_buffer_size=16M
max_allowed_packet=8M
5.下面来启动数据库
service mysqld start #出现OK说明启动成功
netstat -tulnp #3306端口确实处于监听状态。
mysql -uroot -p #因为没有密码,所以直接回车就可以连接mysql 出现如下界面,说明成功了
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.16 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)

mysql> create database mydb
-> ;
Query OK, 1 row affected (0.00 sec)

mysql> use mydb;
Database changed
mysql> create table mytb(id int auto_increment primary key);
Query OK, 0 rows affected (0.02 sec)