编译搭建mariadb及初始化设置

前言

因为项目需要,要搭建一个mariadb数据库,这里记录一下搭建过程以便之后的使用,同时进行分享。
鉴于网上说的yum源安装和配置特别详细,同时大佬们对编译方式安装mysql和mariadb极是推崇,这里我们就使用这种方法来进行配置和数据库搭建!

正文

用编译方式搭建Mariadb有以下几个步骤:

  1. 安装cmake:
    因为是编译安装,就需要依赖一些编译必须的工具包和编译工具,这里我们使用cmake。(如果已经安装过就可以忽略这一步)
cmake --version

如果有版本信息则说明cmake已经安装成功了,如果没有该命令则按照以下步骤进行安装。

tar zxvf cmake-3.12.4-Linux-x86_64.tar.gz
  • 配置cmake指令环境
vi /etc/profile

打开之后在文件的末尾加上绝对路径如(根据你的cmake位置):

export PATH=/usr/local/cmake-3.12.4-Linux-x86_64/bin:$PATH

重新连接新的终端就可以再测试是否安装cmake了!

  • 为保证不缺依赖,执行以下命令
yum -y install readline-devel
yum -y install zlib-devel
yum -y install openssl-devel
yum -y install libaio-devel
  1. 安装mariadb

image
image
下载 mariadb-10.3.11.tar.gz
image
解压:

tar -xvzf mariadb-10.3.11.tar.gz
  • 现在提前预定安装目录为/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/
  • 进入安装包路径下
cd mariadb--10.3.11
  • 编译配置
cmake . 
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql                #指定安装位置(可自定义)
-DMYSQL_DATADIR=/data1/mysql                           #指定数据目录(可自定义)
-DSYSCONFDIR=/etc                                      #配置文件所在的目录(一般放在etc目录下)
-DWITHOUT_TOKUDB=1                                     #这个参数一般都要设置上,表示不安装tokudb引擎
-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                    

#-DWITHOUT_TOKUDB=1这个参数一般都要设置上,表示不安装tokudb引擎,tokudb是MySQL中一款开源的存储引擎,可以管理大量数据并且有一些新的特性,这些是Innodb所不具备的,这里之所以不安装,是因为一般计算机默认是没有Percona Server的,并且加载tokudb还要依赖jemalloc内存优化,一般开发中也是不用tokudb的,所以暂时屏蔽掉,否则在系统中找不到依赖会出现:CMake Error at storage/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 -f CMakeCache.txt 删除编译缓存,让指令重新执行,否则每次读取这个文件,命令修改正确也是报错

  • 执行编译安装
make && make install

这将会花很长时间,耐心等待

解压完之后就可以进入mariadb的安装路径下执行以下命令进行授权和服务设置:

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

将mysqlid添加到系统服务:

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

建立日志目录:

mkdir /var/log/mariadb

启动服务:

/etc/init.d/mysqld start
或
service mysqld start
或
systemctl start mysqld.service 

设置my.cnf文件

vi /etc/my.cnf

参考以下内容:

[mysqld]
datadir=/data1/mysql
socket=/tmp/mysql.sock   #设为编译执行的本地socket
user=mysql
lower_case_table_names=1  #设置数据表大小写不敏感(值为0时大小写敏感)
  • 最后设置mariadb的环境变量
export PATH=/usr/local/mysql/bin:$PATH

打开新的终端执行mysql:
image

这样 ,mariadb的搭建就成功了。

相关:

Mariadb的用户名和密码设置和mysql是一样的:

MariaDB设置初始化密码及修改密码

方法1:
  [root@localhost ~]# mysql 
  MariaDB[(none)]> UPDATE mysql.user SET password = PASSWORD(‘newpassword’) WHERE USER = ‘root’;
  MariaDB[(none)]> FLUSH PRIVILEGES;

方法2: 
  [root@localhost ~]# mysql
  MariaDB[(none)]> SET password=PASSWORD('newpassward');

方法3:
        [root@localhost ~]# mysqladmin -u root password 'newpassword'
  如果root已经设置过密码,采用如下方法 
        [root@localhost ~]#mysqladmin -u root -p 'oldpassword' password 'newpassword'

授权远程登陆

grant all privileges on *.* to '用户名'@'%' identified by '登录密码' with grant option;
flush privileges;

还有很多操作想必不需要一一罗列了,现在就开始使用mariadb吧_!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值