MySQL安装

本文详细介绍了MySQL5.6版本的安装步骤与配置流程,包括基础软件部署、环境变量设置、用户创建、常用命令介绍及启动配置等,适合初学者及需要自行搭建MySQL环境的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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/

# 推荐安装目录
/opt/mysql

# 创建目录
mkdir -p /opt/mysql

# 解压文件到/opt/mysql/目录下
tar -xzvf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz -C /opt/mysql/

# 查看解压后MySQL占用空间
du -sh *

# 查看mysqld大小
ls -lh bin/mysqld

# 删除链接用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:不要自动建立用户的登入目录

# 不建议用root用户跑mysql,推荐使用普通用户

1.4 环境变量

# 备份
cp /etc/profile{,.bak}

# 配置环境变量,并使配置生效
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/local/mysql

二、启动起来

2.1 创建必须的目录

# 一般是项目名加端口号或直接端口号 eg:crm3306 or user3306 or yyms3376 or 3306
mkdir -p /data/mysql/mysql3306/{data,tmp,logs}

2.2 修改权限

# 权限
chown -R mysql:mysql /data/mysql/mysql3306
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

[client]
port = 3306
socket = /tmp/mysql3306.sock

[mysqld]
# last ip + port
# server-id = 1003306
port = 3306
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql/mysql3306/data
tmpdir = /data/mysql/mysql3306/tmp
socket = /tmp/mysql3306.sock
log-bin = /data/mysql/mysql3306/logs/mysql-bin
log-error = /data/mysql/mysql3306/logs/error.log
slow-query-log-file = /data/mysql/mysql3306/logs/slow.log
skip-external-locking
skip-name-resolve
log-slave-updates
character-set-server = utf8
lower_case_table_names = 1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# InnoDB
innodb_data_home_dir = /data/mysql/mysql3306/data
innodb_log_group_home_dir = /data/mysql/mysql3306/logs
innodb_data_file_path = ibdata1:100M:autoextend

[mysqld_safe]
# log-error = /data/mysql/mysql3306/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就表示成功

# 如果提示缺少模块,请先安装基本工具包
yum groupinstall "Compatibility libraries" "Base" "Development tools" -y

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/my3306.cnf来指定
/usr/local/mysql/bin/mysqld_safe &
/usr/local/mysql/bin/mysqld &
# 如下是关闭mysql,如不指定sock文件,默认读取的是/tmp/mysql.sock
/usr/local/mysql/bin/mysqladimn -S /tmp/mysql3306.sock shutdown

2.6 安全加固

# 登录,此处的mysql为/usr/local/mysql/bin/mysql
mysql -uroot -S /tmp/mysql3306.sock

# 查看当前用户
select user, host, authentication_string from mysql.user;
select user, host, password from mysql.user;

# 删除多余账户及数据库、表
delete from mysql.user where user!='root' or host!='localhost';
# 对test的操作太宽范了
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 -tnlp|grep mysqld
lsof -i :3306

# 看错误日志
tail -f /data/mysql/mysql3306/error.log
sftp
xftp
yum install lrzsz
screen
nohup

普通用户的资源限制
/etc/security/limits.conf

转载于:https://my.oschina.net/yysue/blog/1624013

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值