安装环境:Centos6.8
目的:通过通用二进制(Generic Binary)的方式安装MysqL5.7.13
所需软件:MysqL-5.7.13-linux-glibc2.5-x86_64.tar(请自行从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 xfMysqL-5.7.13-linux-glibc2.5-x86_64.tar
#解压后产生了两个压缩包,其中那个MysqL-test-5.7.13-linux-glibc2.5-x86_64.tar.gz包没有用删掉
tar xfMysqL-5.7.13-linux-glibc2.5-x86_64.tar.gz
ln -svMysqL-5.7.13-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 #提供服务脚本
这是我的配置文件,里面仅仅做了最简单的配置,后续可以根据具体的需要配置相应的参数
less /etc/my.cnf
[client]
port=3306
socket=/tmp/MysqL.sock
[MysqLd]
datadir = /mydata/data/
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.7.13 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);