一、环境信息:
操作系统版本:CentOS Linux release 7.3.1611 (Core)
内核版本:3.10.0-514.el7.x86_64
MariaDB版本:mariadb-10.2.10 二、安装开发包组工具
查看开发包组是否安装
yum grouplist
设置显示显示方式
localectl set-locale LANG=en_US.UTF-8
安装开发包组工具
yum -y install "Development Tools"
安装依赖包
yum -y install ncurses-devel openssl-devel libevent-devel jemallloc-devel cmake 三、编译安装MariaDB
groupadd -r mysql
useradd -g mysql -r -d /database mysql
tar xf mariadb-10.2.10.tar.gz
cd mariadb-10.2.10
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-10.2.10 -DMYSQL_DATADIR=/database/data -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 cmake指定编译选项的方式不同于make,其实现方式对比如下:
./configure cmake .
./configure --help cmake . -LH or ccmake . 指定安装文件的安装路径时常用的选项:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/database/data
-DSYSCONFDIR=/etc 默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1 若要明确指定不编译某存储引擎,可以使用类似如下的选项:
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0 其它常用的选项:
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DENABLE_PROFILING=1 如果想清理此前的编译所生成的文件,则需要使用如下命令:
make clean
rm CMakeCache.txt 四、配置MariaDB
1、编辑service文件:
vim /etc/systemd/system/mariadb.service
加入如下内容:
     [Unit]
Description=MariaDB server and services
After=syslog.target
After=network.target [Service]
Type=simple
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql
TimeoutSec=
PrivateTmp=false [Install]
WantedBy=multi-user.target
    2、重载systemd管理器配置:
systemctl daemon-reload
3、创建mysql目录并授权给mysql用户和组
mkdir -pv /database/data
chown mysql.mysql /database/data
4、创建mysql的连接文件
cd /usr/local
ln -sv mariadb-10.2.10 mysql
5、复制support-files/my-large.cnf到/etc/my.cnf
cd mariadb-10.2.10/
cp support-files/my-large.cnf /etc/my.cnf
6、编辑配置文件将datadir修改为/database/data
vim /etc/my.cnf
加入:
datadir = /database/data
7、配置mysql工作目录的权限
cd /usr/local/mariadb-10.2.10
chown root.mysql ./ -R
8、初始化数据库
scripts/mysql_install_db --user=mysql --datadir=/database/data
9、启动mysql服务
systemctl start mariadb.service
systemctl status mariadb.service
10、设置开机自启动
systemctl enable mariadb.service

最新文章

  1. Android笔记——我的Android课的开始
  2. centos7 firewall 防火墙 命令
  3. SQL注入原理小结
  4. jquery 获取元素坐标
  5. 多数据源问题--Spring+Ibatis 访问多个数据源(非分布式事务)
  6. 理解ThreadLocal背后的概念
  7. linux 定时执行shell
  8. java web从零单排第二十一期《Hibernate》主键的生成方式,用户增加与显示用户列表
  9. 14.4.9 Configuring Spin Lock Polling 配置Spin lock 轮询:
  10. myeclipse搭建svn插件
  11. linux下python+pycharm安装
  12. string.trim().length()的用法
  13. Java基础之 反射是什么?
  14. Rxjs常用operators
  15. ConcurrentHashMap源码理解
  16. SpringBoot系列——aop 面向切面
  17. Vmware由于centos升级内核不可运行(C header files matching your running kernel were not found)的解决方案
  18. 利用random模块生成验证码
  19. springcloud单个服务内存使用详情
  20. Inside The C++ Object Model(一)

热门文章

  1. 替换jar中的指定文件
  2. AdapterView 和 RecyclerView 的连续滚动
  3. 使用SWT技术的跨平台移动应用开发库Tabris
  4. openssl基础
  5. Prerender Application Level Middleware - ASP.NET Core Middleware
  6. Node.js 入门 资源
  7. java.lang.NoSuchMethodException: &amp;lt;init&amp;gt; [class android.content.Context, interface androidutil.Attri
  8. Linux严格区分大小写
  9. java中的字符集和编码
  10. CentOS7.0 安装 Nginx