【MySQL基础】MySQL安装第三弹-mariadb-10.2.8

来源:互联网 发布:怎么样做好淘宝店 编辑:程序博客网 时间:2024/06/04 19:48

MySQL安装第二弹-Percona5.7安装

一.操作系统选择

Centos/RHEL/ORACLE LIUNX 5.X/6.X/7.X x86_64 发行版


二.操作系统参数调整

2.1 selinux设置


[root@localhost ~]# cat /etc/selinux/configSELINUX=disabled

#关闭selinux 

2.2调整最大文件数限制


[root@localhost ~]# ulimit -acore file size          (blocks, -c) 0data seg size           (kbytes, -d) unlimitedscheduling priority             (-e) 0file size               (blocks, -f) unlimitedpending signals                 (-i) 7861max locked memory       (kbytes, -l) 64max memory size         (kbytes, -m) unlimitedopen files                      (-n) 1024pipe size            (512 bytes, -p) 8POSIX message queues     (bytes, -q) 819200real-time priority              (-r) 0stack size              (kbytes, -s) 8192cpu time               (seconds, -t) unlimitedmax user processes              (-u) 7861virtual memory          (kbytes, -v) unlimitedfile locks                      (-x) unlimited

#open files   最大打开文件数限制

#max user processes 每个用户最大processes数量


vim  /etc/security/limits.conf*                soft    nofile         65535*                hard    nofile         65535*                soft    nproc          65535*                hard    nproc         65535[root@localhost ~]# ulimit -aopen files                      (-n) 65535max user processes              (-u) 65535

#每个操作系统修改方式可能不一样,参考一个操作系统的官方文档或google一下

2.3 io调度器修改

io调度器修改为deadline


echo “deadline” > /sys/block/sdb/queue/scheduler 

这里的sdb 修改为实际的设备名称 例如 sda 或者sdc。 /data所在的设备名称

 B) 需要加入到 /etc/rc.local 中开启自动加载


2.4系统内核参数修改


vm.swappiness =5  #控制linux物理RAM内存进行SWAP页交换的相对权重vm.dirty_ratio =5 #脏页占整个内存的比例,开始刷新 vm.dirty_background_ratio = 10 #脏页占程序的百分比 ,开始刷新

2.5关闭NUMA特性

新一代架构的NUMA不适用于跑数据库的场景。它本意是为了提高内存利用率,但实际效果不好,反而可能导致一个CPU的内存尚有剩余,但另一个不够用,发生SWAP的问题,因此建议直接关闭或者修改NUMA的调度机制。

a) 修改/etc/grub.conf,关闭NUMA,重启后生效

修改/etc/grub.conf 配置文件,在kernel 那行增加一个配置后重启生效,例如:

kernel /vmlinuz-2.6.18-308.el5 ro root=LABEL=/1elevator=deadlinenuma=off rhgb quiet

b) 修改/etc/init.d/mysql 或者mysqld_safe 脚本,设定启动mysqld进程时的NUMA调度机制,例如:

numactl --interleave=all /usr/local/mysql/bin/mysqld_safe .......

c) BIOS硬件中关闭

#注 a b c 方法中任选其一。

2.6关闭CPU的节能模式 

CPU启用节能模式后,会节约电量,但也可能带来CPU性能下降的问题。因此,运行数据库类业务时,建议关闭节能模式,发挥CPU的最大性能。

A)BIOS硬件中关闭

# 如果不是非核心业务 并且不繁忙的情况下 可以不用调整


三 MySQL环境

3.1 环境规范定义

MySQL安装包下载地址:https://downloads.mariadb.org/

#选择MariaDB 10.2 Series 版本 最新的分支版本 已经GA

 目录定义

 #/usr/local/mysql #MySQL程序目录

 #/data/mysql{端口号}/data 数据目录

 #/data/mysql{端口号}/log  binlog目录

3.2安装MariaDB 

a) 创建MySQL用户


useradd mysql -s /sbin/nologin

b) 上传MySQL二进制包并解压


tar -zxvf mariadb-10.2.8-linux-glibc_214-x86_64.tar.gz 

c) 创建软链接


[root@localhost local]# ln -s  mariadb-10.2.8-linux-glibc_214-x86_64 mysql

d)根据目录定义创建目录

e)修改权限


[root@localhost local]# chown mysql:mysql /data/[root@localhost local]# chown mysql:mysql /data/* -R[root@localhost local]# chown mysql:mysql /usr/local/mysql[root@localhost local]# chown mysql:mysql /usr/local/mysql/* -R

f)安装需的软件包

 

  yum groupinstall    Development Tools

g) 修改MySQL配置文件


[client]port            = 3306socket          = /tmp/mysql.sock[mysql]prompt="\\u@\\h:\\p  [\\d]> #pager="less -i -n -S"##tee=/home/mysql/query.logno-auto-rehash[mysqld]#miscuser = mysqlbasedir = /usr/local/mysqldatadir = /data/mysql3306/dataport = 3306socket = /tmp/mysql.sockevent_scheduler = 0binlog_format = rowserver-id = 63306log-bin = /data/mysql3306/log/mysql-bin
#一个最基础的配置文件 ,后续会针对做讲解和配置优化

 

k)初始化MySQL


cd /usr/local/mysql/scripts[root@localhost scripts]# ./mysql_install_db --basedir=/usr/local/mysql --user=mysql


h)启动MySQL


/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &[root@localhost data]# /usr/local/mysql/bin/mysql -u root -p #登录 

i)安全设置


"root@localhost:mysql.sock  [(none)]>drop database test;"root@localhost:mysql.sock  [mysql]> delete from user where not(host='localhost' and user='root');"root@localhost:mysql.sock  [mysql]>update mysql.user set password=password("redhat") where user='root';"root@localhost:mysql.sock  [mysql]>truncate table mysql.db;"root@localhost:mysql.sock  [mysql]>FLUSH PRIVILEGES;