MySQL安装

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/

选择要下载的版本的链接

说明:

# 镜像里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
原文地址:https://www.cnblogs.com/okokabcd/p/8471867.html