centos编译安装mariadb

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS AI 助手,专业版
简介: 一般我不太愿意用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

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

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
6月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
391 18
|
6月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
436 15
|
11月前
|
Linux 编译器 开发工具
在CentOS上编译安装TinyXml2
以上就是在CentOS上编译安装TinyXml2的步骤。这个过程可能看起来有些复杂,但是只要你按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,你可以查阅相关的文档,或者在网上搜索解决方案。记住,编程就是一个不断学习和解决问题的过程,不要因为遇到困难就放弃。
233 27
|
11月前
|
Linux 开发工具 C语言
在CentOS系统中编译安装TinyXml2的方法
以上就是在CentOS系统中编译安装TinyXml2的方法。这个过程可能会有些复杂,但只要你按照上面的步骤一步一步来,你应该能够成功地完成这个任务。如果你在这个过程中遇到任何问题,你可以在网上搜索相关的资料,或者在相关的论坛上寻求帮助。希望这个指南能够帮助你成功地在你的CentOS系统中编译安装TinyXml2。
289 22
|
12月前
|
Linux Python
centos 编译安装 python 和 openssl
centos 编译安装 python 和 openssl
725 4
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
729 3
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
1190 2
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
577 2
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
【10月更文挑战第7天】本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据自身需求选择合适的方法。
540 3
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置服务等,并与使用 RPM 包安装进行了对比,帮助读者根据需求选择合适的方法。编译源码安装虽然复杂,但提供了更高的定制性和灵活性。
596 2