1.mariadb源码包下载地址:https://downloads.mariadb.org/

2.安装mariadb是依赖包,创建mysql用户和目录:

      命令  yum -y install readline-devel zlib-devel openssl-devel libaio-deve ncurses-devel

      创建mysql的安装目录/usr/local/mysql  和数据库所在的目录 /data/mysql   命令 :mkdir  -p /usr/local/mysql  /data/mysql

      修改文件夹的属主和属组

      

 yum -y install readline-devel zlib-devel openssl-devel libaio-deve ncurses-devel gcc gcc-c++ cmake
mkdir -p /usr/local/mysql /data/mysql
useradd mysql -s /bin/nologin
chown -R mysql.mysql /data/mysql

3.mariadb解压安装

tar -xvf mariadb-10.2..tar.gz
cd mariadb-10.2./ cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DWITHOUT_TOKUDB= \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_ARCHIVE_STPRAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DWIYH_READLINE= -DWIYH_SSL=system \
-DVITH_ZLIB=system \
-DWITH_LOBWRAP= \
-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所不具备的,这里之所以不安装,是因为一般计算机默认是没有Percona Server的,并且加载tokudb还要依赖jemalloc内存优化,一般开发中也是不用tokudb的,所以暂时屏蔽掉,否则在系统中找不到依赖会出现:CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake:179 (message)这样的错误,

      然后后面那些参数都是可选的,可以加也可以不加,最后的编码建议设置一下,所以编译指令也可以简化成下面这样:

      注意:如果万一执行中有了错误,可以执行: rm -f CMakeCache.txt    删除编译缓存,让指令重新执行,否则没次读取这个文件,命令修改正确也是报错  cmake没问题,可以编译并且安装了: make && make install 时间有点长,耐心等待

4.mariadb安装完成过后执行

      

cd /usr/local/mysql
ll .
chown -R mysql.mysql .
scripts/mysql_install_db --datadir=/data/mysql --user=mysql #使用 `mysql` 用户执行脚本, 安装数据库到数据库存放目
#chown -R root .
mkdir /var/log/mariadb #创建日志目录
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock #scoket文件链接到my.cnf中所在的位置

vim /etc/my.cnf

5.启动mariadb    

/usr/local/mysql/support-files/mysql.server start
将/usr/local/mysql/bin设为环境变量,方便以后的操作
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld   # 添加至系统服务
chkconfig mysqld on # 设置开机自启动

现在如果启动可能会报错,原因是日志目录没有建立,默认是/var/log/mariadb/mariadb.log,后来也可以修改,现在执行: mkdir /var/log/mariadb 建立日志目录,然后执行: /etc/init.d/mysqld start 或者 systemctl start mysqld.service 都可以启动mysql服务

  启动服务后,还不能马上进入mysql shell界面,原因是刚才编译时执行本地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用户密码为空:

最新文章

  1. discuz X3.1 关于分表 和 分表数据迁移
  2. ViewStub源码分析
  3. Android 操作系统的内存回收机制(转载)
  4. (keymap设置及eclipse常用快捷键总结)
  5. phpcms v9无法连接数据库服务器,请检查配置
  6. IntellijIDEA 使用技巧
  7. 图解Java字符串不变性
  8. Enlightenment笔记
  9. MFC 控件用法
  10. Zabbix Agent端配置文件说明
  11. 在Editplus中配置java的(带包)编译(javac)和运行(java)的方法
  12. UVA 1451 Average
  13. 迁移FRS至DFSR SYSVOL
  14. JAVA实例
  15. Egret飞行模拟-开发记录02
  16. 十六、springcloud(二)Eureka集群
  17. HDU 1025 城市供应 【LIS】
  18. LAMP搭建个人网站
  19. javascript的console命令
  20. 〖Linux〗Qt5.2.0+gsoap开发Android的NDK程序遇到错误的解决

热门文章

  1. Java 注解(原理及其使用)
  2. 面试常考的js题目(三)
  3. Digester库
  4. shell 中的 set -e 和 set +e的区别
  5. vue入门:(底层渲染实现render函数、实例生命周期)
  6. 第一章 PHP mySQL
  7. 简单的todolist的demo
  8. vue数组中数据变化但是视图没有更新解决方案
  9. 四、指定Nginx启动用户
  10. Linux使用wget仿站