前言:

        本文以mariadb为例进行讲解,安装mysql同理,并以通过测试。安装前查找系统已安装的相关包(rpm -qa|grep -e "mysql" -e "mariadb")并进行卸载。

1、准备mariadb存储数据库文件的目录。

mkdir -p /mydata/data
chown mysql:mysql data  #如本机没有mysql用户及组需新建系统用户、组
例:
#groupadd -r -g 306 mysql #如需指定组需先建立组再指定,例  -g 306
useradd -r -M -s /sbin/nologin mysql

数据库文件占用内存较大,为保证可扩展性建议放在逻辑卷上。以下为配置逻辑卷过程,不需要的话可跳过下面步骤,直接到第二步。

 ① 配置逻辑卷分区或新加硬盘

wKioL1nGSb_z3VDtAAKzElSXi3Q025.png

 ② 创建逻辑卷lv

 wKiom1nGSsmiR5_3AAC29qUt1zw017.png

 ③ 使用xfs文件系统逻辑卷才能有扩展性,由于Centos 6 默认不支持xfs文件系统需借助软件xfsprogs

yum install xfsprogs -y   #安装xfsprogs
modprobe xfs          #加载xfs文件系统驱动
mkfs.xfs  /dev/myvg/mydata  #创建文件系统

 ④ 挂载xfs文件系统

vim /etc/fstab
:r!blkid /dev/myvg/mydata 
UUID=1a5a90a2-2559-494f-954a-7177911e3535 /mydata     xfs       defaults   0  0  
mount -a

2、配置并安装mariadb

① 去官网下载mariadb二进制安装包https://downloads.mariadb.org/ Centos 6 系统建议安装5版本稳定版就好,不要去安装10以上版本。本文以安装mariadb-5.5.57-linux-x86_64.tar.gz为例。

tar xvf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local  #解压到/usr/local
cd /usr/local
ln -sv mariadb-5.5.57-linux-x86_64/ mysql   #创建软连接
chown -R root:mysql mysql/                  #递归修改文件属主属组

② 准备配置文件

配置格式:类ini格式,各程序由单个配置文件提供配[prog_name]
配置文件查找次序:后面覆盖前面的配置文件
/etc/my.cnf --> /etc/mysql/my.cnf --> --default-extrafile=/PATH/TO/CONF_FILE --> ~/.my.cnf

mkdir /etc/mysql
cp /usr/local/mysql/support-files/my-large.cnf /etc/mysql/my.cnf #复制模板配置文件到/etc/mysql并改名为my.cnf
vim /etc/mysql/my.cnf
找到[mysqld]下新增如下配置
datadir = /mydata/data
innodb_file_per_table = on #使用innodb引擎,每个表单独一个数据库
skip_name_resolve = on     #禁止主机名解析,加快速度
lower_case_table_names = 1     #忽略表单大小写
character-set-server=utf8mb4   #设定默认字符为utf8mb4
可选配置示例:
basedir = /usr/local/mysql
#socket = /tmp/mysql.sock #如自定义socket位置需要在[client]段同时配置,port也要配置。否则可能出错
pid-file = /data/mysqldata/mysql.pid
[mysqld_safe] #需手动创建logs/error.log并改为mysql属主
log-error = /mydata/data/error.log

③ 创建数据库文件

cd /usr/local/mysql  #不同版本位置不同,有的在bin目录下
scripts/mysql_install_db --user=mysql --datadir=/mydata/data #注意不要进入scripts目录执行,该方法即将被废弃新方法如下mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql
在初始化时如果加上 –initial-insecure,则会创建空密码的 root@localhost 账号,否则会创建带密码的 root@localhost 账号

④ 准备服务脚本并启动服务

cp support-files/mysql.server /etc/init.d/mysqld  #复制服务脚本并改名mysqld
chkconfig --add mysqld
chkconfig mysqld on   #设为开机启动

加入可执行路径

vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH 
. /etc/profile.d/mysql.sh

⑥ 安全初始化

/user/local/mysql/bin/mysql_secure_installation  #配置root密码,删除匿名用户等操作

⑦ 准备日志文件并启动服务

touch /var/log/mysqld.log
touch  /mydata/data/error.log
chown mysql /var/log/mysqld.log 
chown  mysql  /mydata/data/error.log
service mysqld start

安装完成!



yum安装方式:

        此种方式可安装各版本mysql,在此页面https://dev.mysql.com/downloads/repo/yum/下载对应系统repo文件安装包

例:

centos7 https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

centos6 https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm

下载安装后,到/etc/yum.repos.d/下编辑mysql-community.repo .默认启用的是最新版,编辑把最新版的enabled=0,把想安装的版本改为1即可。之后yum install mysql-server 即可完成安装,如需多次安装可把对应mysql-server包下载下来,然后安装,例yum localinstall mysql-community-server-5.7.23-1.el7.x86_64.rpm