mariadb源码编译安装-Linux下编译安装MariaDB

MariaDB是MySQL的一个开源分支,主要由社区维护,并且与MySQL完全兼容,可以轻松地称为MySQL的替代品。 MariaDB诞生于MySQL创始人Michael Widenius之手,以他父亲的名字命名为Maria,因为他之前把MySQL借给了Sun,而Sun是被Oracle竞购的,所以MySQL也归Oracle所有,所以存在着被Oracle收购的风险。闭源; 而Michael Widenius开发的MariaDB是MySQL的一个开源分支,这很好的防止了这种潜在的问题mariadb源码编译安装,MariaDB成为了MySQL未来的替代品。 很多厂商对MariaDB越来越重视,但是MariaDB在很多方面的性能也优于MySQL,比如目前Windows桌面上的PHP集成开发环境如xampp和linux和lnmp环境都使用MariaDB作为默认数据库,所以从MySQL切换到MariaDB也是一种趋势

上面说了这么多,使用MariaDB的第一步就是将其部署到操作系统上,现在我们开始以编译源码的形式在Linux上安装MariaDB

首先去MariaDB官网下载安装包,主页为:

然后点击下载进入下载页面,地址为:

点击此处红色按钮下载最新稳定版本10.1.18,并进入选择页面:

由于这里是编译安装的,所以我们暂时不会下载某个系统的二补代码包。 这里下载源码包mariadb-10.1.18.tar.gz,下载后上传到服务器

在安装MariaDB之前,首先安装cmake,并且为了保证不缺少依赖,使用yum或rpm安装依赖:readline-devel、zlib-devel、openssl-devel、libaio-devel和readline-devel依赖于ncurses-devel ,如果使用yum的话,会手动安装需要的依赖。 具体命令如下:

yum -y install readline-devel
yum -y install zlib-devel
yum -y install openssl-devel
yum -y install libaio-devel

这里预先确定的mysql安装目录为/usr/local/mysql,数据目录为/data1/mysql。 这里我们需要建立用户和目录,但是授予mysql用户权限。 操作如下:

groupadd -r mysql
useradd -g mysql -s /sbin/nologin mysql
mkdir /usr/local/mysql
mkdir -p /data1/mysql
chown -R mysql:mysql /data1/mysql/

现在就可以开始安装了,解压安装包,进入目录:

tar -xvzf mariadb-10.1.18.tar.gz
cd mariadb-10.1.18/

执行编译安装:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data1/mysql -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

这里解释一下:-DCMAKE_INSTALL_PREFIX是指定安装位置,这里是/usr/local/mysql,-DMYSQL_DATADIR是指定MySQL数据目录,这里是/data1/mysql,安装目录和数据目录都可以自定义, -DSYSCONFDIR 是指定配置文件所在目录,通常为/etc,具体配置文件为/etc/my.cnf,通常设置参数-DWITHOUT_TOKUDB=1,表示不安装tokudb引擎, tokudb 是 MySQL 的一个开源存储引擎,可以管理大量数据,但有一些新功能,这是 Innodb 所不具备的。 这里之所以不安装,是因为通常电脑默认没有PerconaServer,而加载tokudb依赖于jemalloc内存优化,通常开发中不使用tokudb,所以暂时屏蔽,否则如果依赖无法发现系统中会出现CMakeErroratstorage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake:179(message)之类的错误,然后前面的参数都是可选的,可以加也可以不加。 建议设置最终代码,这样编译指令也可以简化如下:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data1/mysql -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

注意:如果执行出错,可以执行:rm -fCMakeCache.txt 来删除编译缓存,让命令重新执行,否则每次读取这个文件时,如果命令改对了,就也会报错

cmake没有问题,可以编译但是安装:make&&makeinstall需要较长时间,耐心等待

执行完成即表示安装完成。 现在执行 cd /usr/local/mysql/step 进入mysql安装目录,分别执行以下命令:

chown -R mysql:mysql .
scripts/mysql_install_db --datadir=/data1/mysql --user=mysql
chown -R root .
cp support-files/mysql.server /etc/init.d/mysqld

您也可以稍后将 mysqld 添加到系统服务中:

chkconfig --add mysqld   # 添加至系统服务
chkconfig mysqld on    # 设置开机自启动

现在启动的话可能会报错。 原因是日志目录不完善。 默认为 /var/log/mariadb/mariadb.log,稍后可以更改。 现在执行:mkdir /var/log/mariadb 构建日志目录,然后执行:/etc/init.d/mysqldstart 或 systemctlstartmysqld.service 即可启动mysql服务

启动服务后,无法立即进入mysqlshell界面。 原因是编译时执行的本地socket为:/tmp/mysql.sock 而/etc/my.cnf中配置的位置为:/var/lib/mysql/mysql.sock,现在执行命令: ln -s /var/lib/mysql/mysql.sock/tmp/mysql.sock 建立软链接

为了方便,可以将mysql目录添加到环境变量中。 现在可以执行./bin/mysql直接进入MariaDB交互界面。 默认root用户密码为空:

至此,MariaDB的编译和安装过程全部安装完毕。 至于后续的密码修改、远程用户授权、sql操作等mariadb源码编译安装,与之前的MySQL完全一致,就不详细描述了。

关于MariaDB二补包的安装,后续可能会持续更新相关文档

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 mariadb源码编译安装-Linux下编译安装MariaDB https://www.wkzy.net/game/166082.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务