MariaDB 程序及安装方法
mariadb的安装
mariadb在不同版本系统的安装方法
CentOS 7 :base仓库中已提供,可直接使用yum命令安装
CentOS 6 安装并使用MariaDB步骤
本文将演示使用通用二进制格式的程序包安装mariadb的过程
- 下载程序包
- 创建 mysql 的用户和组,这里将gid和uid设置为27
groupadd -r -g 27 mysql
useradd -r -u 27 -g 27 -c "MariaDB Server" -b "/var/lib" -s "/sbin/nologin" mysql --basedir=/usr/local/mariadb-5.5.43-linux-x86_64
- 展开归档至/usr/local目录
tar -xvf mariadb-5.5.43-linux-x86_64.tar.gz -C /usr/local
【注意】必须展开至此目录
- 目录名必须叫做mysql,所以要做软链接
注意软链接命令的路径使用的是相对路径
cd /usr/local
ln -sv mariadb-5.5.43-linux-x86_64 mysql
- 将目录内所有文件的属主改为root,属组为mysql
属组对此目录所有文件要有读写权限,注意属主不设置为mysql的原因是防止程序获得过高的权限,影响安全
cd mysql
chown -R root:mysql ./*
- 准备数据存储空间
建议使用带有快照功能的文件系统的独立的磁盘,因为CentOS6不支持btree文件系统,本文演示使用逻辑卷LVM
fdisk /dev/sda
#创建新分区sda7,分区类型为8e,
partx -a /dev/sda7
sync
#如果使用新磁盘则跳过以上步骤
pvcreate /dev/sda7;pvs
vgcreate vg-mairadb /dev/sda7;vgs
lvcreate -L 8G -n database vg-mariadb;lvs
#此处计划使用xfs文件系统,安装模块包
yum install xfsprogs
modprobe xfs;modinfo xfs;lsmod | grep xfs
mkfs.xfs /dev/vg-mariadb/database;lsblk
#写挂载配置文件
mkdir /database
vim /etc/fstab
/dev/vg-mariadb/database /database xfs defaults 0 0
mount -a;df -hT
此处可修改/etc/fstab文件,使文件系统开机自动挂载
- mariadb服务的准备配置
cd /database;mkdir /database/data
chown mysql:mysql /database/data
#执行脚本
/usr/local/mariadb-5.5.43-linux-x86_64/scripts/mysql_install_db --user=mysql --datadir=/database/data/
- 加载服务至启动项
【注意】可将mariadb程序的服务名为mysqld,方便使用
cp -a /usr/local/mariadb-5.5.43-linux-x86_64/support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
- 准备配置文件
mariadb 的配置文件格式:类ini格式,为各程序均通过单个配置文件提供配置信息
[prog_name]
#复制配置文件模板至指定位置,模板可根据规模自定义选择
mkdir /etc/mysql;cp my-large.cnf /etc/mysql/my.cnf
#修改配置文件:
vim /etc/my.cnf
# The MariaDB server
[mysqld]
#在此项目下修改datadir 并增加几条:
datadir=/database/data #指明数据存储的路径
innodb_file_per_table = ON #对于使用innodb引擎的表,采用每表使用单独文件存储数据
skip_name_resolve = ON #关闭mariadb内建的内建的名称解析功能
10 启动服务并查看3306端口
service mysqld start;ss -tnl
- 安全初始化:设置管理员密码,清除匿名用户
/usr/local/mysql/bin/mysql_secure_installation
- 添加PAHT变量
vim /etc/profile.d/mariadb.sh
export PATH=$PATH:/usr/loacl/mariadb/bin/mysql
#保存文件并重载
source /etc/profile.d/mariadb.sh
MariaDB程序的组成
客户端:
- mysql :CLI交互式客户端程序
- mysqldump,mysqladmin,…
服务器端:
- mysqld_safe
- mysqld
- mysqld_multi
mariadb进程间通信方式
IPv4|IPv6 socket :监听在tcp的3306端口,用于远程通信
unix sock :共享内存,监听在sock文件上(/tmp/mysql.sock , /var/lib/mysql/mysql.sock),用于本地通信
server :localhost , 127.0.0.1
mariadb 程序的配置
- 配置文件 :ini风格,用一个文件为多个程序提供配置,文件内部划分为多个配置片段
[mysql]
[mysqld]
[mysqld_safe]
[server]
[client]
[mysldump]
mysql的各类程序启动都读取不止一个配置文件,按顺序读取,同一配置以后读取的为准生效
主配置文件和配置块目录
/etc/my.cnf + /etc/my.cnf.d/*.cnf
mariadb 配置文件查找和加载次序为:
/etc/my.cnf --> /etc/mysql/my.cnf --> --default-extra-file=/PATH/TO/CONF_FILE --> ~/.my.cnf
注意
配置文件的加载次序问题:此规则并不绝对,以各程序实际配置为准,如果配置文件存在歧义时,参考下列法则:
不同的配置文件之间:按照不同配置的加载次序,一般是最后加载的覆盖先加载的配置文件,以最后加载的配置指令为准
同一配置文件内:同一配置文件内,一般以列在文件靠前的配置指令优先生效,靠后的不生效