MySQL安装
MySQL官网 https://www.mysql.com
MySQL工程师的博客 https://dev.mysql.com
Planet MySQL https://planet.mysql.com
MySQL Bugs https://bugs.mysql.com
Worklog(类似工作日志) https://dev.mysql.com/worklog/
Vagrant + VirtualBox + CentOS6
一、基础软件部署
MySQL5.6的安装,下面使用二进制安装过程,可以参考官方安装文档
1.1 下载
https://dev.mysql.com/downloads/mysql/
选择要下载的版本的链接
说明:
- 推荐Linux - Generic
- 当前时间20171002的5.6的最新版本是5.6.37
- 得到下载链接 mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz
- 搜狐的镜像:http://mirrors.sohu.com/
# 镜像里5.6.36是最新的
http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
# 先下载到本地再上传文件至服务器
rz -y
# 或者直接下载到服务器
wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz
1.2 解压
帮助手册:https://dev.mysql.com/doc/refman/5.6/en/
# 创建目录
mkdir -p /opt/mysql
# 解压文件到/opt/mysq/目录下
tar -xzvf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz -C /opt/mysql/
# 查看解压后MySQL占用空间
du -sh *
# 删除链接用unlink
unlink /usr/local/mysql
# 建立链接
ln -s /opt/mysql/mysql-5.6.37-linux-glibc2.12-x86_64 /usr/local/mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
1.3 创建用户
# 确保有mysql账户
id mysql
groupadd mysql
useradd -g mysql -s /sbin/nologin -M mysql
# 说明
-g<群组>:指定用户所属的群组
-s<shell>:指定用户登入后所使用的shell
-M:不要自动建立用户的登入目录
1.4 环境变量
# 配置环境变量,并使配置生效
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
source /etc/profile
# 查看mysql都在哪
whereis mysql
which mysql
1.5 常用命令
mysql
mysqlbinlog
mysqld
mysqld_safe
perror
mysqldump
mysql_upgrade
/usr/loca/mysql
二、启动起来
2.1 创建必须的目录
# 一般是项目名加端口号或直接端口号 eg:yyms3306 or 3306
mkdir -p /data/mysql/mysql3376/{data,tmp,logs}
2.2 修改权限
# 权限
chown -R mysql:mysql /data/mysql/mysql3376
chown -R mysql:mysql /opt/mysql
chown -R mysql:mysql /usr/local/mysql
2.3 创建配置文件
# 配置文件
# /etc/my.cnf
# innodb_data_file_path=ibdata1:100M:autoextend 数据字典
my.cnf
[mysqld]
port = 3376
basedir = /usr/local/mysql
datadir = /data/mysql/mysql3376/data
socket = /tmp/mysql3376.sock
tmpdir = /data/mysql/mysql3376/tmp
log-bin = /data/mysql/mysql3376/logs/mysql-bin
innodb_data_home_dir = /data/mysql/mysql3376/data
innodb_log_group_home_dir = /data/mysql/mysql3376/logs
log-error = /data/mysql/mysql3376/logs/error.log
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
innodb_data_file_path=ibdata1:100M:autoextend
[mysqld_safe]
# log-error=/data/mysql/mysql3376/error.log
# pid-file=mysqldb.pid
# malloc-lib = /usr/local/mysql/lib/mysql/libjemalloc.so
2.4 初始化
# 执行如下安装命令初始化,如果不指定配置文件,要切换到下面目录下执行安装命令
cd /usr/local/mysql
./scripts/mysql_install_db
# 说明
# 如果不指定配置文件位置,以/etc/my.cnf为默认配置文件
# 需要指定配置文件用--defaults-file参数来指定,如:
# ./scripts/mysql_install_db --defaults-file=/etc/my.cnf
# 看到2个OK就表示成功
2.5 启动关闭
# 启动,有n种方式,如下:
/etc/init.d/mysql start
/etc/init.d/mysql stop
service mysql start
service mysql stop
# 如下这种方式在启动时,可以指定其配置文件,默认是/etc/my.cnf
# 指定配置文件时用--defaults-file=/etc/my3376.cnf来指定
/usr/local/mysql/bin/mysqld_safe &
/usr/local/mysql/bin/mysqld &
# 如下是关闭mysql,如不指定sock文件,默认读取的是/tmp/mysql.sock
/usr/local/mysql/bin/mysqladimn -S /tmp/mysql3376.sock shutdown
2.6 安全加固
# 登录,此处的mysql /usr/local/mysql/bin/mysql
mysql -uroot -S /tmp/mysql3376.sock
# 查看当前用户
select user, host, authentication_string from mysql.user;
# 删除多余账户及数据库、表
delete from mysql.user where user!='root' or host!='localhost';
truncate table mysql.db;
drop database test;
# 更新root密码
update mysql.user set authentication_string = password('123456') where user='root';
flush privileges
# 当前目录是/usr/local/mysql
./bin/mysql_secure_installation
2.7 确认MySQL启动
# 查看进程 ef与aux
ps -ef|grep -v "grep"|grep mysqld
# 查看监听
netstat -nalp|grep mysqld
ss -lnpt|grep mysqld
lsof -i :3376
# 看错误日志
tail -f /data/mysql/mysql3376/error.log