![bcb126922deda4667ae06889368660e9.png](https://i-blog.csdnimg.cn/blog_migrate/a1567757d0a81ffc87a991bdba7bd944.jpeg)
一、MySQL版本的选择
- 推荐选择MySQL官方版本,且选择MySQL5.6以后的版本。
- 如选择Percona版本(例如5.6版本使用线程池等),但在5.6版本以后,官方版MySQL集成了Percon之前的优化。
- 不建议选择MariaDB:无INNODB;且核心代码较老
- MySQL在5.6以后不断重构源码,安装包越来越大,功能和性能在持续改进
二、下载
MySQL官网:
https://www.mysql.com/
建议大家经常查看是否有更新及相关技术大牛文章
社区GA版下载地址:
https://www.mysql.com/
选择版本:例如Linux版本可以按照如下方式选择(版本、操作系统、操作系统版本)
![85b2bc07c21fb46f90ab53ce5671462d.png](https://i-blog.csdnimg.cn/blog_migrate/bb146057e2e7b6a7a46749f3227a3323.jpeg)
下载完成后将其上传,如上传至/usr/local目录下。
三、安装
总体安装步骤概述如下:
- 操作系统等相关配置设置
- 安装依赖包
- 创建用户
- 修改配置文件、创建相关数据目录、日志目录等并授权
- 运行安装命令,启动数据库
- 配置环境变量、服务等(看需要)
1.操作系统等相关配置设置 查看CPU、内存、SSL版本、硬盘大小
# 查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看逻辑CPU的个数 cat /proc/cpuinfo| grep "processor"| wc -l # 查看CPU信息(型号) cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c # 查看内存: cat /proc/meminfo # 查看ssl版本 openssl version #查看硬盘大小 df -lh
修改防火墙
service iptables stop chkconfig iptables off
修改selinux
vim /etc/selinux/config SELINUX=disabled setenforce 0 ## 不重启机器生效
修改文件限制等
vim /etc/security/limits.conf * hard nofile 65535 * soft nofile 65535 或 ulimit -n 65535 (sudo sh -c "ulimit -a"检查)
修改控制文件
vim /etc/sysctl.conf kernel.sem=250 32000 100 128 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 30
2. 生产环境安装对应包
yum install -y epel-release yum install -y glibc gcc gcc-c++ openssl-devel autoconf automake cmake bison make ncurses-devel numactl numactl-devel yum install -y libtool-ltdl-devel* zlib* libxml* fiex* yum install -y libaio libaio-devel libmcrypt libmcrypt-devel mcrypt mhash
3.创建用户
groupadd mysql useradd -r -g mysql mysql
4.修改配置文件、创建相关数据目录、日志目录等并授权
# 切换到mysql安装包目录,并解压安装包
cd /usr/local tar -zxvf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
![ea210b28f15e4a4fcf5e5b698591cf14.png](https://i-blog.csdnimg.cn/blog_migrate/aa473b210189c2e46b2ab6c3f9158c3d.png)
# 创建软连接 (以便于后期升级、或安装多实例等),并修改权限
ln -s mysql-5.6.40-linux-glibc2.12-x86_64 mysql5.6
![5cd97b6d3bfd9ddfbf69c5040643b346.png](https://i-blog.csdnimg.cn/blog_migrate/42abb74b4c445dbec54824da4c0ca719.png)
chown -R mysql . # 注意 .为当前目录的意思 chgrp -R root . # 注意 .为当前目录的意思 或直接2步合并 chown -R mysql:mysql .
![2d6c0f1cfa0b2a853642fed2117f6748.png](https://i-blog.csdnimg.cn/blog_migrate/8400b1ed2bb4384bf592b21f0556d9b9.jpeg)
# 创建数据目录、日志目录、配置文件目录及临时文件目录并授权
mkdir -p /data/mysql/mysql4406/{data,logs,etc,tmp} # 一次性创建多个目录,4406端口号(默认端口号为3306)
# 修改配置文件 (根据实际情况修改)
主要参数配置如下,生产环境需要根据实际情况修改,配置参数说明请参见下一篇文章
vi /data/mysql/mysql4406/etc/my4406.cnf
[mysqld]
server-id=4406
port=4406
basedir=/usr/local/mysql5.6
datadir=/data/mysql/mysql4406/data
socket=/data/mysql/mysql4406/tmp/mysql4406.sock
log-error=/data/mysql/mysql4406/logs/mysqld4406.log
pid-file=/data/mysql/mysql4406/tmp/mysqld4406.pid
character-set-server=utf8
max_binlog_size =1G
log-bin=/data/mysql/mysql4406/logs/mysql-bin
binlog-format=row
expire_logs_days=7
sync_binlog=1
binlog_cache_size= 128M
[client]
port=4406
socket=/data/mysql/mysql4406/tmp/mysql4406.sock
# 修改权限
chown -R mysql:mysql /data/mysql/mysql4406
![c3d9736601c64a0fdcbb5ed41657172c.png](https://i-blog.csdnimg.cn/blog_migrate/e0e9355e10bb1bfd17292ffaf74c3097.jpeg)
5. 安装MySQL
做完上面一系列准备工作后,终于迎来了MySQL安装操作
# 进入MySQL安装包所在目录,指定配置文件及用户进行安装
scripts/mysql_install_db --defaults-file=/data/mysql/mysql4406/etc/my4406.cnf --user=mysql
![758f223878860b474108676c2218fd8d.png](https://i-blog.csdnimg.cn/blog_migrate/9ac137822ab7f3a9232d73fe12ccd2de.jpeg)
如出现OK且无其他错误信息,即安装成功
![cab1105a9347690b850530baf0e65006.png](https://i-blog.csdnimg.cn/blog_migrate/1d2cf8c63431a04f689b38dde6c46858.jpeg)
6. 配置服务
如果需要配置服务(如进行开机自启动等),可以进行配置,生产环境上如有多个实例等不建议如此配置
cp support-files/mysql.server /etc/init.d/mysqld
![abd82d22848e57cf01fd7f129f84e34c.png](https://i-blog.csdnimg.cn/blog_migrate/00e3aad98ba00f9f804f82f2496419eb.png)
再将其中的basedir 、datadir路径及conf配置文件名等进行修改(如机器上只配置一个MySQL实例无需修改)
7. 开启MySQL
# 指定配置文件启动数据库(推荐),并在后台运行(执行下面命令时多次回车,专为小白而备注)
/usr/local/mysql5.6/bin/mysqld_safe --defaults-file=/data/mysql/mysql4406/etc/my4406.cnf &
![a8fdbaeb54b551f91a8660fca74eb771.png](https://i-blog.csdnimg.cn/blog_migrate/052f8b80a0983d90b6bb1dd75c5adf64.jpeg)
# 服务方式启动(建议第一种方式,如此机器上只有一个mysql实例可以采用如下方式启动,多实例将在后续介绍)
/etc/init.d/mysqld start
![ec397a4c706ff145e1417ff13c4794bb.png](https://i-blog.csdnimg.cn/blog_migrate/fac5eb83d70bf6f0cbd4b9732369ee99.png)
8. 配置环境变量
(看需要,如不配置,则运行mysql相关命令需要输入全路径,建议配置)
vi /ect/profile # 末尾追加如下信息 export PATH=$PATH:/usr/local/mysql5.6/bin export PATH # 使环境变量生效 source /etc/profile
![ec51b3afa2a7ada136181abd2b9b819a.png](https://i-blog.csdnimg.cn/blog_migrate/274a97924550862a635e2881793a7ed4.png)
![4a1e3bdd62344250977689cb8aae7034.png](https://i-blog.csdnimg.cn/blog_migrate/f06514305f6100b2abcea4d8e03a109c.png)
四、登录MySQL,修改密码,创建账号及授权等
1. 登录mysql
说明:mysql5.6版本安装后默认root密码为空,即不输入密码即可进入,如下所示,其中-uroot 指 登录用户名,-P4406 表示端口号为4406(默认3306,当为3306时 可以不输入),--socket=/data/mysql/mysql4406/tmp/mysql4406.sock 为指定套接字方式登录(--socket可以写作-S)
![64e4755eb79e64ad8356c6ff440e3948.png](https://i-blog.csdnimg.cn/blog_migrate/c4df475a20de8fdc8fc77c3524a213a8.jpeg)
如果采用默认端口3306 ,则输入 mysql即可登录
2. 修改密码
# 修改当前账号密码
mysql> set password=password('123456'); mysql> flush privileges; # 刷新权限
![4887886906913c3bc34507df7739f332.png](https://i-blog.csdnimg.cn/blog_migrate/c4e003390debf67c4ffd9a6853352159.jpeg)
3.创建账号并授权
# 创建超级管理员账号
mysql> grant all on *.* to root@'%' identified by '123456' with grant option;
说明:
all表示所有权限 root为账号名,‘%’表示所有主机可以连接(mysql账号有账号名及主机组成一个用户名,相同账号不用主机属于不同用户) identified by '123456' 表示设置密码为123456 with grant option 表示该账号有授权的权限,all权限不包含授权权限
![e56c8d10baca78d52e14fe14f7aa9260.png](https://i-blog.csdnimg.cn/blog_migrate/44d98dd53770cb628aca5de3ffcf0cf5.png)
# 创建查询账号
mysql> grant select on *.* to query@'%' identified by 'query'; mysql> flush privileges;
![6e502bb019ea57e14d6df4db264e41ab.png](https://i-blog.csdnimg.cn/blog_migrate/c56d9c98d8e18935574a31b76675de99.jpeg)
至此,mysql 5.6版本的安装,配置以及简单的创建账号等操作就完成了,具体日常操作命令将在后续推出。
说明:
后续新建的mysql实例建议安装mysql5.7及后续版本,且持续关注新版本信息。
原文发布于微信公众号 - 数据库干货铺(database_gjc)
![3de899d62e5a5dbfed8a597e3d40ffd9.png](https://i-blog.csdnimg.cn/blog_migrate/b6367baa9d489afedba337174ee4793d.png)