day01 MySQL安装

MySQL的安装方式通常来讲一般有三种:使用系统包管理工具(比如yum)进行安装、使用源码包进行编译安装、使用二进制包进行安装。

通常来说,如果需要进行高度定制化安装则需要使用源码包进行编译安装;普通独占服务器则使用包管理工具进行安装比较便捷快速;而实际生产环境中一般会使用二进制包进行安装,既省去编译的麻烦又可以一台服务器上安装多个实例。

MySQL的官网一共提供了四个版本:GA版、DMR版、RC版、Beta版。在实际生产环境中无比使用稳定的GA版本。

由于编译安装过于繁琐,包管理工具安装又及其简单,所以本篇仅仅介绍二进制包的安装过程。

正所谓“工欲善其事,必先利其器”,在正式安装MySQL之前我们必须对服务器进行相应的初始化和优化。下面简单介绍下服务器初始化的几项内容:

一、关闭服务器numa

关闭方式分为在BIOS、操作系统中关闭、MySQL数据库启动过程中关闭。

根据实验在BIOS层关闭NUMA,无论OS层面的NUMA是否开启,都不会影响性能;在OS层关闭NUMA,BIOS层中NUMA没有关闭,则会影响性能QPS会下降15%-30%。因此强烈推荐在BIOS层关闭NUMA。

二、关闭SELINUX

sed -i 's/^\(SELINUX=\).*/\1disabled/g' /etc/selinux/config

二、关闭防火墙

CentOS6.x
/etc/init.d/iptables stop
chkconfig iptables off

CentOS7.x
systemctl stop firewalld
systemctl disable firewalld

三、选择文件系统为xfs

xfs文件系统相比ext4,更加方便管理,支持动态扩容等,一种非常优秀的日志文件系统。

四、调整磁盘I/O调度算法为deadline模式

查看当前系统的I/O调度算法

cat /sys/block/sda/queue/scheduler

修改I/O调度器,需要在/etc/grub.conf中加入elevator=deadline,保证永久生效。

五、swap分区的设置

swappiness值的大小对如何使用swap分区有着很大的影响。它有着0和100两个极限值。0代表最大限度地使用物理内存,100则表示积极地使用swap分区。针对MySQL服务器建议不分配swap,或者分配很小的空间就足够了(比如2GB)

查看和修改swappiness

cat /proc/sys/vm/swappiness

sysctl -a|grep swap

六、修改操作系统限制 open files和max user processes

cat /etc/security/limits.conf
*	soft	nofile	65535
*	hard	nofile	65535
*	soft	nproc	65535
*	hard	nproc	65535
*	soft	core	unlimited
*	hard	core	unlimited
*	soft	stack	20480
*	hard	stack	20480

完成如上步骤后,重启服务器。服务器初始化基本完成。下面可以进行MySQL的安装

MySQL安装过程大致可以分为四个步骤:

一、创建MySQL用户组以及用户,创建数据库目录等

groupadd mysql
useradd mysql -g mysql -s /sbin/nologin

mkdir -p /data/mysql/{data,log,binlog}
chown -R mysql.mysql /data/mysql

二、下载MySQL二进制安装包,并校验。解压二进制安装包

wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

md5sum mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

tar zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql-5.7.26-linux-glibc2.12-x86_64

cd /usr/local

ln -s mysql-5.7.26-linux-glibc2.12-x86_64  mysql

chown  -R root.mysql mysql

三、设置配置文件并初始化MySQL

配置文件大家可以参考http://imysql.com/my-cnf-wizard.html自动生成工具生成后再自行更改。

/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql --initialize

数据库初始化完成后,数据库的初始密码会在/data/mysql/log/error.log下,通过如下命令即可查看

cat /data/mysql/log/error.log|grep password

四、启动MySQL并完成相关操作

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &

使用初始化密码登录数据库,修改数据库的初始密码

SET PASSWORD = "xxxxxxxxxxxxxxxxxx"
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;

以上MySQL安装完成。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值