centos编译安装mariadb

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 一般我不太愿意用mysql,那个玩意,有的时候不太友好。我还是比较喜欢mariadb。

centos编译安装mariadb

一般我不太愿意用mysql,那个玩意,有的时候不太友好。

我还是比较喜欢mariadb。

1:安装cmake环境

安装MariaDB之前,首先要安装cmake,另外为了保证不缺依赖,使用yum或者rpm安装依赖:readline-devel,zlib-devel,openssl-devel,libaio-devel并且readline-devel依赖于ncurses-devel,如果使用yum的话会自动将所需依赖安装好,具体命令如下:

perl

复制代码

yum -y install readline-devel
yum -y install zlib-devel
yum -y install openssl-devel
yum -y install libaio-devel
yum -y install ncurses-devel

(1):进入/usr/local/download/目录

bash

复制代码

cd /usr/local/download

(2):解压源码包

bash

复制代码

wget 
https:
//cmake.org/files/v3.12/cmake-3.12.0-rc1.tar.gz

(cmake.org/files/v3.12…)

(3):解压CMake源码包

diff

复制代码

tar -zxvf cmake
-3.12.0
-rc1.tar.gz

(4):进入cmark的源码目录

diff

复制代码

cd cmake
-3.12.0
-rc1

(5):运行当前目录下的一个文件

bash

复制代码

./bootstrap

(6):编译并安装(时间稍长)

复制代码

gmake&&gmake install

(7):查看版本号

css

复制代码

cmake --version

2:安装mariadb

这个安装和php及nginx的安装类似,只是mariadb的编译是使用cmake

这里提前预定mysql的安装目录为/usr/local/mariadb并且数据表文件目录为/usr/local/mariadb /mysqldata,

(1):下载

bash

复制代码

cd /usr/local/download
wget https://downloads.mariadb.org/f/mariadb-10.5.6/source/mariadb-10.5.6.tar.gz

(2):创建用户及用户组

bash

复制代码

groupadd mysql
useradd -s /sbin/nologin -r -g mysql mysql

(3):解压、预编译、编译安装

ini

复制代码

# 解压
tar -zxvf mariadb-10.5.6.tar.gz
# 进入目录
cd mariadb-10.5.6
# 预编译,将与
cmake -j . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mariadb \
-DMYSQL_DATADIR=/usr/local/mariadb/mysqldata/ \
-DSYSCONFDIR=/usr/local/mariadb \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITHOUT_TOKUDB=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mariadb/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
# 编译安装
make&&make install

(4):配置启动文件及权限等

bash

复制代码

# 进入安装目录
cd /usr/local/mariadb/
# 创建启动文件
cp support-files/mysql.server /etc/init.d/mysqld
# 添加执行权限
chmod +x /etc/init.d/mysqld
# 创建存放数据表目录
mkdir -p mkdir /usr/local/mariadb/mysqldata/
# 创建存放mysql.sock目录
mkdir -p mkdir /usr/local/mariadb/tmp/
# 修改mariadb目录权限
chown -R mysql:mysql /usr/local/mariadb/
# 创建mariadb配置文件
vim /usr/local/mariadb/my.cnf
[mysqld]
basedir=/usr/local/mariadb/
datadir=/usr/local/mariadb/mysqldata/
port=3306
pid-file=/usr/local/mariadb/mysqldata/mysql.pid
socket=/usr/local/mariadb/tmp/mysql.sock
[mysqld_safe]
log-error=/usr/local/mariadb/mysqldata/mysql.log
[client]
port=3306
socket=/usr/local/mariadb/tmp/mysql.sock
default-character-set=utf8
# 删除默认mariadb配置文件(默认加载默认的my.cnf文件,不删除,启动会报错)
rm -rf /etc/my.cnf

(5):数据初始化

bash

复制代码

/usr/local/mariadb/scripts/mysql_install_db --datadir=/usr/local/mariadb/mysqldata

初始化成功:

sql

复制代码

[root@iZuf60ynur81p6k0ysvtneZ mariadb]# /usr/local/mariadb/scripts/mysql_install_db --datadir=/usr/local/mariadb/mysqldata
Installing MariaDB/MySQL system tables in '/usr/local/mariadb/mysqldata' ...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
Two all-privilege accounts were created.
One is root@localhost, it has no password, but you need to
be system 'root' user to connect. Use, for example, sudo mysql
The second is root@localhost, it has no password either, but
you need to be the system 'root' user to connect.
After connecting you can set the password, if you would need to be
able to connect as any of these users with a password and without sudo
See the MariaDB Knowledgebase at https://mariadb.com/kb or the
MySQL manual for more instructions.
You can start the MariaDB daemon with:
cd '.' ; ./bin/mysqld_safe --datadir='/usr/local/mariadb/mysqldata'
You can test the MariaDB daemon with mysql-test-run.pl
cd './mysql-test' ; perl mysql-test-run.pl
Please report any problems at https://mariadb.org/jira
The latest information about MariaDB is available at https://mariadb.org/.
You can find additional information about the MySQL part at:
https://dev.mysql.com
Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/

(7):确保/usr/local/mariadb目录下的所有文件权限都是mysql

bash

复制代码

chown -R mysql:mysql /usr/local/mariadb/

(8):启动mysql

至此,mariadb安装成功,现在,我们来启动数据库:

bash

复制代码

/etc/init.d/mysqld start

启动成功:

sql

复制代码

[root@iZuf60ynur81p6k0ysvtneZ mariadb]# /etc/init.d/mysqld start
Starting MariaDB.201015 17:26:58 mysqld_safe Logging to '/usr/local/mariadb/mysqldata/mysql.log'.
201015 17:26:58 mysqld_safe Starting mariadbd daemon with databases from /usr/local/mariadb/mysqldata
                                                           [  OK  ]

(9):简化mariadb操作命令

默认操作mariadb命令:

bash

复制代码

/usr/local/mariadb/bin/mysql

比较长,用着不太方便,简化方式其实和php是一样的:

bash

复制代码

vim /root/.bash_profile

添加内容:

ruby

复制代码

alias mysql=/usr/local/mariadb/bin/mariadb

修改完成,重载一下文件:

bash

复制代码

source /root/.bash_profile

或者创建软连接

bash

复制代码

ln -s /usr/local/mariadb/bin/mariadb /usr/bin/mariadb

(10):链接mariadb

Mariadb默认没有密码,所以直接使用

python

复制代码

mysql -uroot -p
如下所示:
[root@iZuf60ynur81p6k0ysvtneZ mariadb]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 6
Server version: 10.5.6-MariaDB Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

数据库的其他配置,请移步《Centos7.6配置lnmp

(11):重启服务器,运行mariadb报错:

arduino

复制代码

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/usr/local/mariadb/tmp/mysql.sock' (2)

原因是找不到本地套接字文件mysql.sock

默认位置是在/tmp/mysql.sock,但是我这里在my.cnf中配置了其位置:

在/usr/local/mariadb/tmp/mysql.sock

查看当前目录下是否有该文件,没有的话,重新启动mariadb,会自动生成mysql.sock文件,不要自己手动创建。

使用如下命令:(该命令,是我在安装时已配置好)

bash

复制代码

/etc/rc.d/init.d/mysqld restart

(12):设置开机启动

确保rc.local 文件有执行权限,否则,开机启动不生效

bash

复制代码

vim /etc/rc.d/rc.local

添加如下内容:

bash

复制代码

/etc/rc.d/init.d/mysqld restart

至此,centos编译安装mariadb完成。

我这里都是指定位置安装,配置文件都在安装目录下,因此删除的时候相对比较方便。

升级的情况,之后要升级的时候会在写。

卸载软件的话,直接删除目录就好。

有好的建议,请在下方输入你的评论。

欢迎访问个人博客 guanchao.site

欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
19天前
|
应用服务中间件 Linux 网络安全
CentOS 7.4源码编译nginx1.12 并且隐藏nginx的版本
CentOS 7.4源码编译nginx1.12 并且隐藏nginx的版本
15 0
|
1月前
|
Linux 网络安全 数据安全/隐私保护
如何在 VM 虚拟机中安装 CentOS Linux 9 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 CentOS Linux 9 操作系统保姆级教程(附链接)
176 0
|
1月前
|
存储 JavaScript Linux
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
|
5天前
|
Linux
centos 6.5安装yum
centos 6.5安装yum
26 0
|
5天前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置PXE服务
PXE是Intel开发的预启动执行环境,允许工作站通过网络从远程服务器启动操作系统。它依赖DHCP分配IP,DNS服务分配主机名,TFTP提供引导程序,HTTP/FTP/NFS提供安装源。要部署PXE服务器,需关闭selinux和防火墙,安装dhcpd、httpd、tftp、xinetd及相关服务,配置引导文件和Centos7安装源。最后,通过syslinux安装引导文件,并创建pxelinux.cfg/default配置文件来定义启动参数。
18 0
|
5天前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置postfix服务
安装CentOS7的Postfix和Dovecot,配置Postfix的`main.cf`文件,包括修改完全域名、允许所有IP、启用邮箱等。然后,配置Dovecot的多个配置文件以启用auth服务和调整相关设置。重启Postfix和Dovecot,设置开机自启,并关闭防火墙进行测试。最后,创建邮箱账户并在Windows邮箱客户端中添加账户设置。
12 0
|
5天前
|
Linux 网络安全
Centos6.5安装并配置NFS服务
该内容描述了在Linux系统中设置NFS服务的步骤。首先挂载yum源,然后安装NFS服务,并编辑配置文件。接着,重启rpcbind和NFS服务,可能需要重复此过程以解决初始可能出现的问题。此外,关闭防火墙策略,并再次重启服务。最终,根目录被共享,特定IP网段被允许访问。
13 0
|
6天前
|
存储 Linux 网络安全
centos7使用yum网络安装
这些是使用Yum进行网络安装的基本步骤。根据你的需求,你可以重复步骤3和4来安装其他软件包。请注意,执行Yum操作需要root或具有sudo权限的用户。
21 1
|
12天前
|
关系型数据库 MySQL Linux
centos7安装mysql-带网盘安装包
centos7安装mysql-带网盘安装包
62 2
|
13天前
|
存储 关系型数据库 MySQL
源码包安装mariadb
**MariaDB**是MySQL的一个开源分支,由社区维护,提供高性能、安全且与MySQL高度兼容的数据库解决方案。它使用XtraDB和Maria存储引擎替代InnoDB和MyISAM。特点是开源、高性能、兼容性和安全性,广泛应用于各种场景和操作系统。在Redhat 9.2上安装MariaDB 10.6.17,首先配置yum源,检查现有MySQL/MariaDB,安装依赖包,下载源码,解压并配置编译环境,使用cmake和make编译安装,初始化数据库,创建用户,设置密码,添加启动脚本至开机自启,并执行安全初始化设置。
19 0