前言
因为项目需要,要搭建一个mariadb数据库,这里记录一下搭建过程以便之后的使用,同时进行分享。
鉴于网上说的yum源安装和配置特别详细,同时大佬们对编译方式安装mysql和mariadb极是推崇,这里我们就使用这种方法来进行配置和数据库搭建!
正文
用编译方式搭建Mariadb有以下几个步骤:
- 安装cmake:
因为是编译安装,就需要依赖一些编译必须的工具包和编译工具,这里我们使用cmake。(如果已经安装过就可以忽略这一步)
1 | cmake --version |
如果有版本信息则说明cmake已经安装成功了,如果没有该命令则按照以下步骤进行安装。
下载cmake编译可执行版
访问
http://www.cmake.org/cmake/resources/software.html 下载如cmake-3.12.4-Linux-x86_64.tar.gz的包
**切记不要下载源代码版本如cmake-3.13.1.tar.gz,这个版本还需要进行编译解压cmake
1 | tar zxvf cmake-3.12.4-Linux-x86_64.tar.gz |
- 配置cmake指令环境
1 | vi /etc/profile |
打开之后在文件的末尾加上绝对路径如(根据你的cmake位置):
1 | export PATH=/usr/local/cmake-3.12.4-Linux-x86_64/bin:$PATH |
重新连接新的终端就可以再测试是否安装cmake了!
- 为保证不缺依赖,执行以下命令
1 | yum -y install readline-devel |
- 安装mariadb
- 去mariadb官网下载mariadb源的包:
https://mariadb.org/download/
下载 mariadb-10.3.11.tar.gz
解压:
1 | tar -xvzf mariadb-10.3.11.tar.gz |
- 现在提前预定安装目录为/usr/local/mysql并且数据目录为/data1/mysql,这里要建立用户和目录,并且赋予mysql用户权限,操作如下:(可自己定义)
1 | groupadd -r mysql |
- 进入安装包路径下
1 | cd mariadb--10.3.11 |
- 编译配置
1 | cmake . |
实际情况下我们也可以执行这段代码:
1 | 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 -f CMakeCache.txt 删除编译缓存,让指令重新执行,否则每次读取这个文件,命令修改正确也是报错
- 执行编译安装
1 | make && make install |
这将会花很长时间,耐心等待
解压完之后就可以进入mariadb的安装路径下执行以下命令进行授权和服务设置:
1 | chown -R mysql:mysql . |
将mysqlid添加到系统服务:
1 | chkconfig --add mysqld # 添加至系统服务 |
建立日志目录:
1 | mkdir /var/log/mariadb |
启动服务:1
2
3
4
5/etc/init.d/mysqld start
或
service mysqld start
或
systemctl start mysqld.service
设置my.cnf文件
1 | vi /etc/my.cnf |
参考以下内容:1
2
3
4
5[mysqld]
datadir=/data1/mysql
socket=/tmp/mysql.sock #设为编译执行的本地socket
user=mysql
lower_case_table_names=1 #设置数据表大小写不敏感(值为0时大小写敏感)
- 最后设置mariadb的环境变量
1 | export PATH=/usr/local/mysql/bin:$PATH |
打开新的终端执行mysql:
这样 ,mariadb的搭建就成功了。
相关:
Mariadb的用户名和密码设置和mysql是一样的:
MariaDB设置初始化密码及修改密码
1 | 方法1: |
授权远程登陆
1 | grant all privileges on *.* to '用户名'@'%' identified by '登录密码' with grant option; |
还有很多操作想必不需要一一罗列了,现在就开始使用mariadb吧^_^!!