前言
因为项目需要,要搭建一个mariadb数据库,这里记录一下搭建过程以便之后的使用,同时进行分享。
鉴于网上说的yum源安装和配置特别详细,同时大佬们对编译方式安装mysql和mariadb极是推崇,这里我们就使用这种方法来进行配置和数据库搭建!
正文
用编译方式搭建Mariadb有以下几个步骤:
- 安装cmake:
因为是编译安装,就需要依赖一些编译必须的工具包和编译工具,这里我们使用cmake。(如果已经安装过就可以忽略这一步)
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
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
- 安装mariadb
- 去mariadb官网下载mariadb源的包:
https://mariadb.org/download/
下载 mariadb-10.3.11.tar.gz
解压:
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:
这样 ,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吧_!!