在centos7上手动安装二进制mariadb
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在centos7上手动安装二进制mariadb相关的知识,希望对你有一定的参考价值。
前言:MariaDB数据库管理系统是mysql的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX存储引擎。
准备工作:准备二进制安装包,这里我用的是最新的 mariadb-10.2.8-linux-x86_64.tar.gz
(1)useradd -r -m -d /app/dbdata -s /sbin/nologin mysql
(2)准备数据目录以/app/dbdata为例,建议使用逻辑卷,数据文件相对比较大。
chown mysql:mysql /app/dbdata
(3)解压安装包到相应的目录下
tar xvf mariadb-VERSION-linux-x86_64.tar.gz -C /usr/local
这里放在/usr/local目录下,是因为在安装包里指定的解压路径就是这里
cd /usr/local 进入安装包目录下
ln -sv mariadb-VERSION mysql 创建一个软链接
或者直接改名字也是可以的
mv mariadb-10.2.8-linux-x86_64 mysql
注:默认的情况下文件目录的名字叫mysql
chown -R root:mysql /usr/local/mysql
(4)准备配置文件配置格式:类ini格式,各程序由单个配置文件提供配[prog_name] 配置文件查找次序:后面覆盖前面的配置文件
/etc/my.cnf --> /etc/mysql/my.cnf --> --default-extrafile=/PATH/TO/CONF_FILE --> ~/.my.cnf mkdir /etc/mysql/
注:文件的顺序决定了优先级,文件的生效
cp support-files/my-large.cnf /etc/mysql/my.cnf #这里我们自定义配置文件
注:support-files 目录里有模板集合,里有支持小型,中型,大型,超大型等数据库配置文件
/etc/mysql/my.cnf 从上面的模板目录中拷贝出来,然后自定义配置文件
[mysqld]中添加三个选项:
datadir = /app/dbdata
innodb_file_per_table = on innodb 数据库引擎
skip_name_resolve = on 禁止主机名解析
(5)创建数据库文件
cd /usr/local/mysql
./scripts/mysql_install_db --datadir=/app/dbdata --user=mysql
注:执行脚本的时候必须在这个相对的路径下,不然会报错
例:FATAL ERROR: Could not find ./bin/my_print_defaults
主要是为了生成数据库相关系统的信息
注:在最小化安装的时候,有些系统文件是没有的,必须自己手动安装才可能
例:出错信息:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
缺少安装包libaio和libaio-devel
yum install libaio* 安装一下就可以了
(6)准备日志文件
cd /var/log/
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R root:mysql /var/log/mariadb
chmod -R g+w /var/log/mariadb
注:这时要注意,在mysql组当中必须要有写的权限,不然不能记录日志,启动服务的时候会出错
(7)准备服务脚本,并启动服务
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
service mysqld start
export PATH=/usr/local/mysql/bin:$PATH
注:生成path路径
(8)安全初始化
/user/local/mysql/bin/mysql_secure_installation
注:安全环境修改脚本
以上是关于在centos7上手动安装二进制mariadb的主要内容,如果未能解决你的问题,请参考以下文章