Centos 7 编译安装mariadb 5.5
一、环境
OS :Linux 3.10.0-693.el7.x86_64
mariadb下载地址:
]# wget https://downloads.mariadb.org/interstitial/mariadb-5.5.59/source/mariadb-5.5.59.tar.gz
安装开发环境及开发所依赖的包;
]# yum groupinstall Development Tools
]# yum -y install ncurses-devel openssl-devel libevent-devel #第一次编时没有装这几个包,cmake是报curese错,后面安装了ncurses-devel包还是没通过,把后面两个包安装就可以了;
]# yum install cmake #mariadb 5.5以后编译工具用cmake
]# mkdir /usr/local/mariadb-5.5 #准备安装目录
二、编译安装
cd /tmp/
]# tar xf mariadb-5.5.59.tar.gz #减压源码包
]# cd mariadb-5.5.59
]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-5.5 -DMYSQL_DATADIR=/mydata/mdata -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system-DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
]# make && make install
]# ln -sv mariadb-5.5 mysql #创建连接文件
新建mysql 系统用户
]#useradd -r mysql
安装目录授权给mysql组
]#chown .mysql /usr/local/mariadb-5.5/* -R
数据存放目录,我这里做一个LVM (20G和30G)
]# yum install lvm2 -y
]# fidsk /dev/sda
]# partx -a /dev/sda #多执行两次
验证是否能读到新建盘
创建逻辑卷
格式化磁盘
~]# mkfs.xfs /dev/myvg/mydata
UUID挂载
1.查看
~]#blkid /dev/myvg/mydata
2.写入配置文件
3.挂载
]# mount -a
三、mariadb配置文件及服务脚本
1.配置文件
]# mkdir /mydata/data -pv
]# chown mysql.mysql /mydata/data
]#ln -sv /usr/local/mariadb-5.5 /usr/local/mysql #添加链接
]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data #初始化数据库
]#cd /usr/loca/mysql
]#cp support-files/my-large.cnf /etc/my.cnf #复制配置文件到etc目录
编辑my.cnf 增加如下三个参数
datadir = /mydata/data #指明数据目录存放目录
innodb_file_per_table = on #指定innodb存储引擎
skip_name_reslove = on #跳过名称反解
2.服务
]# cp support-files/mysql.server /etc/rc.d/init.d/mariadb
chmod +x /etc/rc.d/init.d/mariadb
]# chkconfig --add mysqld # 增加到开机启动
systemctl start mysqld # 启动数据程序
ss -ntl #查看3306端口有没有监听
3.服务控制脚本
vim /etc/systemd/system/mariadb.service
[unit] Description=Mariadb server After=syslog.target After=network.target [service] Type=simple User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysql_safe --basedir=/mydata/data TimeoutSec=200 PrivateTmp=false [install] Wantedby=multi-user.target