linux 下安装mysql5.7.17
安装前的环境准备 linux 环境准备
内核参数建议值
1.调整最大文件数限制
直接执行 ulimit -n 65535
或写入/etc/sysctl.conf 重启后生效
2.修改IO 调度器设置
io 调度器修改为deadline,如果是SSD 或者PCle-SSD设备,则修改为noop,下列两种方式修改:
a) 在线动态修改,重启失效
echo "deadline" > /sys/block/sda/queue/scheduler ,此处sda 修改为实际的设备名称,例如 sdb,sdc
b)修改/etc/grub.conf, 永久生效
修改/etc/grub.conf 配置文件,在kernel 那行增加一个配置,例如

最后,查看核实下IO 调度器的配置,例如
cat /sys/block/sda/queue/scheduler
noop anticipatory [deadline] cfq
3.修改swappiness 设置
vm.swappiness=0
并将该设置写入/etc/sysctl.conf,重启后也能生效
swappiness 是linux的一个内核参数,用来控制 Linux 物理RAM 内存进行SWAP页交换的相对权重
尽量减少系统的页缓存被从内存中清除的情况.取值范围是0~100,
vm.swappiness 的值越低,linux内核会尽量不进行swap交换页的操作,vm.swappines的值越高,linux会越多的使用SWAP空间
linux系统默认值是60,当系统需要内存时,有60%的概率使用swap 对于大多数桌面系统,设置为100 可以提高系统的整体性能
对于数据库服务器,设置为0,可以提高物理内存的使用率,进而提高数据库服务的响应性能
需要注意的是: RHEL7以上的版本 vm.swappines=0 有可能会由于OOM问题,导致mysqld 进行被OOM-KIller 进程杀掉
4.关闭NUMA特性
新一代架构的NUMA 不适用于跑数据库的场景.它本意是为了提高内存利用率,但实际效果不好
,反而可能导致一个cpu 的内存尚有剩余,但是另一个不够用,发生SWAP 的问题,因此建议直接关闭或者修改NUMA 的调度机制
a)修改/etc/grub.conf 关闭NUMA 重启后生效
修改/etc/grub.conf 配置文件,在kernel 那行增加一个配置后重启生效,例如

5.关闭cpu节能模式
cpu 启用节能模式后,会节约电量,但也可能带来cpu性能下降的问题.因此,运行数据库类业务时,
建议关闭节能模式,发挥cpu最大性能
1.首先获取mysql安装包 ,我们这里安装的是mysql5.7.17版本
打开官方 MySQL 官方网站 https://downloads.mysql.com/archives/community/
选择相应的版本 如下图所示

我这里将 mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 放在了 /data/ 目录下
2. 将mysql解压到 /opt/mysql 下 (没有则创建,也可以定义自己需要的目录)
cd /opt/
mkdir mysql
cd mysql
tar zxvf /data/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
3.创建一个软连接
cd /usr/local
ln -s /opt/mysql-5.7.17-linux-glibc2.5-x86_64 mysql
4.创建用户
groupadd mysql
useradd -g mysql -s /sbin/nologin -d /usr/local/mysql mysql
5.定义基本的配置文件 my.cnf (根据自身需要的环境配置,并将配置好的文件放在/etc/my.cnf 下) 以下给出部分需要定义的目录,有些需要自己定义的参数根据具体情况定制
basedir = /usr/local/mysql 安装目录
datadir = /data/mysql/mysql3306/data 数据目录
socket = /tmp/mysql3306.sock 套接字文件
tmpdir = /data/mysql/mysql3306/tmp 临时目录
log-bin = /data/mysql/mysql3306/logs/mysql-bin 二进制日志目录
6.基于我们的配置文件定的环境 创建基本目录
mkdir /data/mysql 创建数据目录
mkdir /data/mysql/mysql3306
cd /data/mysql/mysql3306
mkdir data
mkdir logs
mkdir tmp
chown -R mysql:mysql /data/mysql/mysql3306
7.MySQL 初始化 (根据mysql官方文档指定初始化方式 默认会找/etc/my.cnf 如果不指定的话)
cd /usr/local/mysql
shell> bin/mysql_install_db --user=mysql # MySQL 5.7.5
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up
ps: 根据官方文档说明
如果缺少了 libaio 包 会报错误 ,导致无法初始化 成功 并且 需要注意 /data/mysql 目录是否正确授予 权限 用户和 组
缺少包 即可 使用 yum install libaio 再重新初始化
8.创建启动脚本
cp support-files/mysql.server /etc/init.d/mysql
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile 写入环境变量
source /etc/profile
9.启动或者关闭MySQL
/etc/init.d/mysql start|stop|restart
linux 下安装mysql5.7.17的更多相关文章
- linux下安装mysql5.7.17及简单配置
原文:http://www.th7.cn/db/mysql/201612/218745.shtml 1.mysql5.7.17安装在/usr/local/mysql目录里面,也可以安装在其他地方 (安 ...
- Linux下安装mysql5.7
Linux下安装mysql5.7 首先准备好mysql5.7.17的安装包,安装包放在 /data/software 目录下 进入到 /usr/local 目录下,解压mysql安装包 命令: ...
- Linux下安装mysql5.6.11(找点有用的信息太费劲)(转)
Linux下安装mysql5.6.11(找点有用的信息太费劲) (2013-04-25 10:25:09) 1.申请阿里云Linux服务器 昨天在阿里云申请了一个免费试用5天的Linux云服务 ...
- [转]windows10 64位环境下安装mysql5.7.17
今天以zip模式在windows10 64位环境下安装mysql5.7,到最后一步提示mysql服务无法启动. 安装步骤如下: 1.配置环境变量 我的电脑->属性->高级->环境变量 ...
- linux下安装mysql5.7方法与常见问题
linux上安装mysql5.7 1.下载tar包,这里使用wget从官网下载 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7 ...
- [mysql使用(1)] 64位Linux下安装mysql-5.7.13-linux-glibc2.5-x86_64
由于公司临时让将Oracle的数据移植到mysql上面,所以让我在公司服务器上面安装一下mysql.下面就是我的安装过程以及一些错误解决思路.其实对于不同版本安装大体都有差不多. 1. 从官网下载 m ...
- centos7下安装mysql5.7.17
约定:本文基于Centos7,Mysql5.7.17,经过博主多次测试成功 1.下载mysql.tar.gz 官网下载MySQL安装包,Linux-Generic 64位(根据系统选择64or32) ...
- 64位Linux下安装mysql-5.7.13-linux-glibc2.5-x86_64 || 转载:http://www.cnblogs.com/gaojupeng/p/5727069.html
由于公司临时让将Oracle的数据移植到mysql上面,所以让我在公司服务器上面安装一下mysql.下面就是我的安装过程以及一些错误解决思路.其实对于不同版本安装大体都有差不多. 1. 从官网下载 m ...
- Linux下安装MySQL5.6
传送门:http://www.jianshu.com/p/f4a98a905011 字数802 阅读164 评论0 喜欢4 环境:1.操作系统:CentOS release 6.8 (Final)2. ...
随机推荐
- How to easily Detect Objects with Deep Learning on Raspberry Pi
https://medium.com/nanonets/how-to-easily-detect-objects-with-deep-learning-on-raspberrypi-225f29635 ...
- linux nohup python 后台运行无输出问题
参考:https://blog.csdn.net/zj360202/article/details/78894512 nohup python test.py & nohup python t ...
- linux下samba共享服务器搭建详解
这两天业务需求搭了一台服务器.要求samba共享文件. 葡萄美酒月光杯的前戏就省了,我们直接上干货. 1.yum方式安装samba yum -y install samba 2.将/etc/sam ...
- Javascript基础二(程序的三大结构)
程序的三大结构: 顺序结构,选择结构,循环结构 程序的单分支结构-if语句: 当条件判断为真true时,执行花括号内的语句,如果条件为假false,跳过花括号内的语句 if(条 ...
- 百度地图errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败
最近要维护以前师兄的一个android项目,里面用到了百度地图,在我的机器上按照官网的方式获取的SHA1签名+包名申请ak: 然而就是报errorcode: 230 uid: -1 appid -1 ...
- MySQL索引与事务
MySQL索引与事务 链接:https://pan.baidu.com/s/1ANGg3Kd_28BzQrA5ya17fQ 提取码:ekpy 复制这段内容后打开百度网盘手机App,操作更方便哦 1.索 ...
- egrep 正则
首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同!正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串.vim.grep.awk .sed 都支 ...
- Schema约束与DTD约束
现将Schema约束与DTD约束实现的一个实例截图出来: 1.DTD 1.1 DTD文件 1.2 DTD实现 2.Schema 2.1 Schema约束 2.2 Schema实现
- 1、cmd中检测远程的ip和端口是否处于监听状态
一.使用 ping 命令测试远程的ip是否可连通 cmd (右键 管理员角色) --- ping IP 二.使用 telnet 测试远程某一个ip的端口是否开放 1.为了安全起见,window ...
- uva658 dijkstra+状态压缩
题目大意: 假定有n个潜在的bug和m个补丁,每个补丁用长为n的字符串表示.首先输入bug数目以及补丁数目.然后就是对m 个补丁的描述,共有m行.每行首先是一个整数,表明打该补丁所需要的时间.然后是两 ...