[TOC]
## **1.1. 环境准备**
使用MySQL 5.6.x 二进制版本安装单实例。
操作系统使用CentOS 6.5 x64
## **1.2.初始化安装**
### **1.2.1.下载二进制安装文件**
使用`wget`命令或者其他方式下载MySQL二进制安装文件到`/root`目录下。
```
wget https://mirrors.aliyun.com/mysql/MySQL-5.6/mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz
```
### **1.2.2.创建mysql用户**
先创建mysql组,再创建mysql用户并加入mysql组中
```
groupadd mysql
useradd mysql -r -g mysql
```
### **1.2.3.创建程序、数据存储目录**
```
mkdir -p /home/mysql/{program,data,conf}
mkdir -p /home/mysql/data/mysqldata1/{mydata,sock,tmpdir.log,innodb_ts,innodb_log,undo,slowlog,binlog,relaylog}
```
### **1.2.4.解压安装包并设置目录权限**
```
tar xf mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz -C /home/mysql/program/
chown -R mysql.mysql /home/mysql
```
### **1.2.5.建立软链接,并设置环境变量**
```
// 建立软链接
ln -s /home/mysql/program/mysql-5.6.49-linux-glibc2.12-x86_64 /usr/local/mysql
// 添加环境变量
export PATH=$PATH:/usr/local/mysql/bin/
echo 'export PATH=$PATH:/usr/local/mysql/bin/' >> /etc/profile
```
### **1.2.6.配置my.cnf文件参数**
1、复制配置文件
```
cp -ar /usr/local/mysql/support-files/my-default.cnf /home/mysql/conf/my.cnf
```
2、修改`/home/mysql/conf/my.cnf`,如下:
```
[client]
socket=/home/mysql/data/mysqldata1/sock/mysql.sock # sock文件所在路径
[mysqld]
user=mysql
basedir = /usr/local/mysql
socket=/home/mysql/data/mysqldata1/sock/mysql.sock # sock文件所在路径
pid-file=/home/mysql/data/mysqldata1/sock/mysql.pid # pid文件所在路径
datadir=/home/mysql/data/mysqldata1/mydata # 数据文件路径
tmpdir=/home/mysql/data/mysqldata1/tmpdir # 存放临时文件的路径
log-error=/home/mysql/data/mysqldata1/log/error.log
slow_query_log
slow_query_log_file=/home/mysql/data/mysqldata1/slowlog/slow-query.log
log-bin=/home/mysql/data/mysqldata1/binlog/mysql-bin
relay-log=/home/mysql/data/mysqldata1/relaylog/mysql-relay-bin
innodb_data_home_dir = /home/mysql/data/mysqldata1/innodb_ts
innodb_log_group_home_dir = /home/mysql/data/mysqldata1/innodb_log
innodb_undo_directory = /home/mysql/data/mysqldata1/undo/
```
### **1.2.7.初始化MySQL**
使用`mysql_install_db`命令初始化MySQL数据字典库、ibdata1、log_file*等文件
```
cd /usr/local/mysql/
./scripts/mysql_install_db --defaults-file=/home/mysql/conf/my.cnf --user=mysql
```
**初始化MySQL报错**
```
yum install -y perl-Data-Dumper libaio
```
**Centos6.5 yum源无效**
```
// 1.备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
// 2.下载新的repo
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-6.repo
// 3.替换配置
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
sed -i 's/http/https/g' /etc/yum.repos.d/CentOS-Base.repo
sed -i 's/$releasever/6.8/g' /etc/yum.repos.d/CentOS-Base.repo
sed -i 's/centos/centos-vault/g' /etc/yum.repos.d/CentOS-Base.repo
// 4.清除并生成缓存
yum clean all && yum makecache
```
### **1.2.8.启动MySQL**
将`mysql.server`复制到`/etc/init.d/`目录下,命名为`mysqld`。
```
cp -ar /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
// 启动服务
service mysqld start
// 可以用ps或者netstat命令检查mysql是否启动
ps aux | grep mysqld
netstat -ntupl | grep mysqld
```
## **1.3.简单安全加固**
### **1.3.1.登录MySQL**
MySQL 5.6.x初始化完成并启动之后,可以免密登录。
![](https://img.kancloud.cn/e5/e2/e5e243f55953671d4c11ae98522baa23_836x565.png)
### **1.3.2.删除非root或非localhost用户并修改root密码**
- Golang
- 基础知识
- 基本数据类型
- 运算符
- 变量&常量
- 流程控制
- 数组
- 切片
- string操作
- Map及实现原理
- Go其他
- CLI命令
- Golang内置类型和函数
- init函数和main函数
- 网络编程
- 互联网协议
- socket编程
- 单元测试
- 并发编程
- channel
- 优雅地关闭channel
- Mutex
- GMP原理与调度
- Go Web
- HTTP Server
- gin框架
- 快速入门
- HTML渲染
- JSONP
- Multipart/Urlencoded绑定
- PureJSON
- gin路由
- beego框架
- Bee工具安装
- 配置模块
- Web模块
- 路由
- 数据操作
- Go操作Mysql数据库
- Go操作redis
- mongo-driver
- sqlx库
- 操作etcd
- msgpack
- 网络爬虫
- 获取页面
- 标准库
- IO操作
- 文件操作
- fmt
- 格式化输出
- flag
- log
- time
- strconv
- template
- os
- sync.Mutex
- Context
- 第三方库
- zap库
- viper
- validator参数校验
- GORM
- 基础
- CRUD接口
- INI
- GoFrame
- 快速开始
- 微服务
- go-kit
- gRPC
- Protocol Buffers 语法指南
- go-zero
- 相关名词解释
- 数据结构和算法
- 基础知识
- 链表
- Golang GUI
- fyne基础
- 显示时间
- RabbitMQ-Go
- centos7 安装rabbitmq-server
- RabbitMQ介绍
- 工作队列
- Go设计模式
- 设计模式的分类
- 简单工厂模式
- golang自举编译
- 了解sync.Once
- 知识碎片
- 常见问题
- 开源项目
- Anaconda
- 介绍、使用教程
- Python
- Python基础知识
- Python之禅
- 变量和类型
- 流程控制
- Python运维
- Python内置工具
- 命令行工具
- 包管理工具pip
- 小爬虫笔记
- I/O操作
- requests库
- requests基本使用
- BeautifulSoup库
- BeautifulSoup基本使用
- Scrapy框架
- 数据可视化
- Django
- Django起步
- OpenCV
- OpenCV入门
- 前端
- HTML
- CSS
- CSS权重计算
- Javascript
- 基础
- JS基础知识
- 监听事件
- 字符串操作
- 数组操作
- 输入输出
- 定时器
- 样式操作
- 获取url参数
- Typescript
- Pick 与 Omit TS内置类型
- Vue.js
- Vue.js介绍
- Vue.js基础
- Vue指令
- v-model
- v-for
- 指令修饰符
- Q&A
- 命令
- Vue3
- node.js
- node.js基础
- npm遇到的问题
- 相关工具安装
- nvm使用教程
- 工程化webpack
- Linux
- Linux基础
- 符号链接
- Shell
- 脚本执行方式
- 数据的输入输出
- 脚本执行中的问题
- tcpdump
- 正则表达式
- Elasticsearch
- Docker
- Docker的基础概念与操作
- Docker 安装
- 容器技术原理
- Docker核心概念
- Docker基本操作
- 镜像相关操作
- 容器相关操作
- 镜像加速器
- Dockerfile
- COPY复制文件
- Docker所遇问题
- ansible
- ansible入门
- k8s
- 安装工具
- kubectl
- Git
- gitlab
- gitlab备份与恢复
- gitlab基本使用
- git使用
- git常用命令
- git提交问题
- git提交规范
- 数据库
- MySQL
- MySQL介绍
- mariadb安装
- 主主复制
- 数据库问题集结
- 开启binlog
- MySQL常用命令
- SQL总结
- MySQL性能优化系列
- 第一章 初始化安装和简单安全加固
- MySQL配置模板
- Redis
- Redis简单使用
- Redis常见问题
- Redis集群
- Redis Cluster概述
- 数据分布
- 搭建集群
- MongoDB
- mongodb分片
- MongoDB分片集群设置密码验证
- TiDB
- 单机模拟部署生产环境集群
- 服务器
- CentOS
- 配置阿里云的yum源和epel源
- centos7 实现NFS文件共享
- rsync
- centos7 源码编译rsync
- rsync实现文件同步
- 添加删除swap分区
- 清除buff/cache
- 配置ntp时间同步
- centos7安装pip
- centos7虚拟机启动报xfs错误
- centos7常用命令
- centos7安装mysql
- centos7安装python3.x
- centos7升级gcc、g++
- centos7安装nginx
- centos7部署Nexus
- centos7离线安装python3
- centos7.6编译mariadb10.5.22
- CentOS8
- 银河麒麟V4
- nginx编译
- 银河麒麟V10_x86
- 安装VNC
- 单用户模式
- UOS
- 配置本地apt源
- apt安装vnc-server
- UOS单用户模式
- UOS创建自启动脚本
- 源码编译
- oniguruma编译
- Proxmox VE
- PVE基本使用
- PVE故障
- KVM
- KVM相关命令
- 银河麒麟V10_x86安装kvm
- UOS_arm64安装kvm
- yum、rpm、apt
- dpkg、apt-get、yum和rpm的区别
- rpm打包
- yum相关问题
- 内建银河麒麟的apt源
- 其他软件
- JuiceFS
- nacos
- 常见命令
- 硬盘分区
- Linux常见问题
- 其他
- Cloc代码统计工具
- onlyoffice 在线文档编辑
- onlyoffice添加中文字体
- 遇到的问题
- 网络通信协议
- 部署相关记录
- Vmware workstation虚拟机迁移到PVE指南
- 小操作