个人MySQL学习笔记第一章,记录MysqL在linux操作系统下的安装流程
操作系统版本:Centos 6.5
一、MysqL安装包的下载
-
登陆网址:https://www.MysqL.com/downloads/
-
我们这次要安装的是MysqL的二进制包,点击页面中的“MysqL Community Server”进入下载页
-
-
当前MysqL的最新版本是8.0,下图红框部分分别代表着MysqL5.7/5.6/5.5的最后一版本,不想下载这几个版本的最新版,点击第四个选项,可以找到MysqL的其他历史版本。
-
我们想下载MysqL的5.7.20版本,可以点击“Archived versions”打开历史版本的页面后,按下图操作流程进行操作
二、MysqL安装流程
1. 关闭防火墙和selinux
[root@MysqL ~]# service iptables stop
[root@MysqL ~]# chkconfig iptables off
[root@MysqL ~]# chkconfig --list|grep iptable
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off
修改/etc/selinux/config,把selinux的值改为disabled(需重启操作系统)
[root@MysqL ~]# sestatus
SELinux status: disabled
2.修改IO调度模式
[root@MysqL ~]# echo "deadline" >> /sys/block/sda/queue/scheduler
[root@MysqL ~]# cat /sys/block/sda/queue/scheduler
noop anticipatory [deadline] cfq
3.修改系统限制
[root@MysqL ~]# echo "MysqL soft nofile 65536" >> /etc/security/limits.conf
[root@MysqL ~]# echo "MysqL hard nofile 65536" >> /etc/security/limits.conf
[root@MysqL ~]# groupadd -g 500 MysqL
[root@MysqL ~]# useradd -u 500 -g 500 -r -M -s /sbin/nologin MysqL
**useradd参数说明**
-g<群组>:指定用户所属的群组;
-n:取消建立以用户名称为名的群组;
-r:建立系统帐号;
-u<uid>:指定用户id。
5. 创建必要的目录
a.将软件包传至/usr/local/目录下
[root@MysqL ~]# mv mysql-5.6.16-linux-glibc2.5-x86_64.tar.gz /usr/local/
b.解压软件包
[root@MysqL ~]# cd /usr/local/
[root@MysqL ~]# tar -xvf mysql-5.6.16-linux-glibc2.5-x86_64.tar.gz
[root@MysqL ~]# ln -s mysql-5.6.16-linux-glibc2.5-x86_64/ MysqL/
d.修改目录权限
[root@MysqL ~]# chown -R MysqL:MysqL MysqL/
[root@MysqL ~]# mkdir -p /data/MysqL
[root@MysqL ~]# chown MysqL:MysqL -R /data/
6.在/etc/目录下配置my.cnf文件
7.使用以下命令编译生成系统库
[root@MysqL ~]# cd /usr/local/MysqL/bin
1)5.6版本:
[root@MysqL ~]# ./MysqL_install_db --basedir=/usr/local/MysqL/ --datadir=/data/MysqL/ --defaults-file=/etc/my.cnf --user=MysqL
2)5.7版本:
[root@MysqL ~]# ./MysqLd --defaults-file=/etc/my.cnf --basedir=/usr/local/MysqL --datadir=/data/MysqL/ --user=MysqL --initialize
**注意:defaults-file参数需要放在第一个位置,否则会创建失败,error日志里面会出现如下错误:
unkNown variable 'defaults-file=/etc/my.cnf'
参考官方文档: https://dev.MysqL.com/doc/MysqL-linuxunix-excerpt/5.7/en/data-directory-initialization-MysqLd.html
[root@MysqL ~]# cd /usr/local/MysqL/bin
[root@MysqL ~]# ./MysqLd_safe --defaults-file=/etc/my.cnf &
[root@MysqL ~]# cd /usr/local/MysqL/bin
[root@MysqL ~]# ./MysqLadmin -uroot -p shutdown
2.紧急情况下或者由于一些原因忘记/没有数据库的root密码,无法用MysqLadmin进行关闭,可以使用下面的方法:
1)查出当前MysqL的进程号
[root@MysqL ~]# ps -ef |grep MysqL
2)使用linux操作系统的kill命令kill掉进行
[root@MysqL ~]# kill -9 进程号
3)检查是否还有进程残留