返回顶部
分享到

centos编译安装mariadb的过程

数据库其他 来源:互联网 作者:佚名 发布时间:2022-08-29 21:38:04 人浏览
摘要

centos编译安装mariadb 一般我不太愿意用mysql,那个玩意,有的时候不太友好。 我还是比较喜欢mariadb。 1:安装cmake环境 安装MariaDB之前,首先要安装cmake,另外为了保证不缺依赖,使用y

centos编译安装mariadb

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

我还是比较喜欢mariadb。

1:安装cmake环境

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

1

2

3

4

5

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/目录

1

cd /usr/local/download

(2):解压源码包

1

2

3

wget

https:

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

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

(3):解压CMake源码包

1

2

3

tar -zxvf cmake

-3.12.0

-rc1.tar.gz

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

1

2

3

cd cmake

-3.12.0

-rc1

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

1

./bootstrap

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

1

gmake&&gmake install

(7):查看版本号

1

cmake --version

2:安装mariadb

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

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

(1):下载

1

2

cd /usr/local/download

wget https://downloads.mariadb.org/f/mariadb-10.5.6/source/mariadb-10.5.6.tar.gz

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

1

2

groupadd mysql

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

# 解压

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):配置启动文件及权限等

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

# 进入安装目录

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):数据初始化

1

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

初始化成功:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

[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

1

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

(8):启动mysql

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

1

/etc/init.d/mysqld start

启动成功:

1

2

3

4

[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命令:

1

/usr/local/mariadb/bin/mysql

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

1

vim /root/.bash_profile

添加内容:

1

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

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

1

source /root/.bash_profile

或者创建软连接

1

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

(10):链接mariadb

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

1

2

3

4

5

6

7

8

9

10

11

12

13

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报错:

1

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文件,不要自己手动创建。

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

1

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

(12):设置开机启动

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

1

vim /etc/rc.d/rc.local

添加如下内容:

1

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

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

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

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

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


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://juejin.cn/post/7137110573380009997
相关文章
  • 一文介绍在Hive中NULL的理解
    在 Hive 中,NULL 是一个特殊的值,表示未知或缺失。任何与NULL的比较操作(如=,,,=,=,)都会返回NULL,而不是TRUE或FALSE。 1.NULL 的比较规则 在
  • Navicat Premium 12数据库管理解决方案

    Navicat Premium 12数据库管理解决方案
    Navicat Premium 12是一款全面的数据库管理工具,支持多种数据库系统如MySQL、MariaDB、Oracle、SQL Server、PostgreSQL等。它提供了多数据库连接、数据
  • sqlite3命令行工具使用介绍
    一、启动与退出 启动数据库连接 1 2 3 sqlite3 [database_file] # 打开/创建数据库文件(如 test.db) sqlite3 # 启动临时内存数据库 (:memory:) sqlite3 :m
  • StarRocks简介与搭建使用介绍

    StarRocks简介与搭建使用介绍
    StarRocks简介 StarRocks 是一款高速、实时、全场景的MPP(大规模并行处理)分析型数据库系统,专为现代数据分析场景设计,强调亚秒级查询性
  • centos虚拟机部署opengauss数据库详细图文

    centos虚拟机部署opengauss数据库详细图文
    一、基本信息 1、虚拟机安装的centos版本 2、opengauss版本 地址:https://opengauss.org/zh/download/ 3、opengauss和gaussdb的区别 高斯数据库(GaussDB)是云
  • 达梦数据库文件故障的恢复方法

    达梦数据库文件故障的恢复方法
    1、概述 1.1 概述 本文介绍了达梦数据库文件损坏或误删除后的恢复方法。这里的数据库文件包括,表空间数据文件、重做日志文件、UNDO文件
  • Sql Server 2008 数据库附加错误:9004问题解决方案介
    【问题描述】 数据库文件存在异常状况,有可能是因为硬盘有坏区引起的。附加数据库的时候,提示错误9004。 【解决方法】 假设数据库名
  • Access数据中的SQL偏移注入原理解析介绍
    使用场景: 目标数据表的字段较多,无法一一获取的时候,尝试使用偏移注入的方式实现SQL注入。 原理: 例如:一个表有6个字段,而你想
  • Navicat导入Excel数据时数据被截断的问题分析与解

    Navicat导入Excel数据时数据被截断的问题分析与解
    在数据库的日常操作中,将Excel数据导入MySQL是常见的需求之一,特别是通过Navicat工具进行Excel数据导入时,可能会遇到数据截断的问题。具
  • GaussDB数据库事务管理及高级应用

    GaussDB数据库事务管理及高级应用
    事务管理是数据库系统中至关重要的一部分,它确保了数据库的一致性和可靠性。在GaussDB数据库中,事务管理不仅遵循传统的ACID特性,还提
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计