MariaDB 的二进制安装和实战| 学习笔记

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 快速学习 MariaDB 的二进制安装和实战

开发者学堂课程【Linux MySQL 服务器搭建与应用MariaDB 的二进制安装和实战】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/578/detail/7984


MariaDB 的二进制安装和实战


内容介绍:

一、 YUM 源安装:MariaDB 10.2.15 Series

二、 通用二进制格式安装过程

三、 配置用户的数据库

四、 初始化数据库

五、 关于 mariadb 的配置文件

六、 自动启动 mysqld

七、 安全初始化

八、 注意事项

 

一、 YUM 源安装:MariaDB 10.2.15 Series

MariaDB 10.2是 MariaDB 的稳定版本。

它建立在 MariaDB 10.1之上,具有 MySQL 5.6 和5.7的功能,以及在其他任何地方都找不到的全新功能。

MariaDB 10.2 基本上等价于 MySQL 5.7 的版本功能。点击下载会显示原码、二进制和包的三种形式的安装方法。

表中显示 debian and Ubuntu Packages 使用 DEB Package,CentOS 系列和红帽系列使用 RPM Package 这种包。点击 Repository Configuration Tool  即仓库的配置工具,这里可以直接知道仓库路径。

按顺序选择  CentOS -> CentOS 6(x86_64) -> 10.2[Stable],就会直接显示  YUM 源:

#http: //downloads.mariadb.org/mariadb/repositories/

[mariadb]

name = MariaDB

baseurl=http:/ /yum.mariadb.org/10.2/ centos7-amd64

gpgkey=https:// yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

修改仓库配置文件:vim/etc/yum.repos.d/base.repo 加入网页中所给到的 YUM 源代码:

[mariadb]

name = MariaDB

baseurl=http:/ /yum.mariadb.org/10.2/ centos7-amd64

gpgkey=https:// yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

查看 resolv 文件:

cat/etc/resolv.conf

# Generated by NetworkManager

search magedu.com localdomain

nameserver 223.5.5.5

nameserver 223.6.6.6

连接 MariaDB 数据库的仓库: yum repolist

 

二、 通用二进制格式安装过程

二进制格式安装过程。把编译过程省掉了,官方直接帮你编译好,如果使用源码安装,可能对一些参数的调正不如官方直接帮你编译好的二进制来的方便。

1. 检查环境

确保没有同类型软件

rpm -q mariadb-server

package mariadb-server is not installed

rpm -q mysql-server

package mysql-server is not installed


2. 下载二进制包

此时我们时在 centos7.4 安装

mariadb-10.2.15-linux-x86_64.tar. gz。

安装包版本后面带上了 linux,这意味着这是适用于 linux 的二进制包,如果不带linux 或者其他系统的标识,表示这是一个源码包,源码包的大小很小。

 

3. 准备用户账号

官方编译时,默认指定了运行数据库程序的用户为:mysql 我们需要为其提供同名账户。

mariadb 的程序存放路径

官方编译时,指定了安装存放的路径为:/usr/local/mysql,可以把 tar 包解压缩到 /usr/local 下改名为 mysql,不过更通用的做法就是做一个软连接。

[root@centos7~]#useradd-r-d/data/mysq1db-s /sbin/no1ogin mysq

[root@centos7~]#getent passwd mysql

mysq1l:x:990:985::/data/mysq1db:/sbin/nologin

[root@centos7.~]#id mysq1

uid=990(mysq1) gid=985(mysq1) groups=985(mysq1)


4. 解压缩:

创建安装路径:

指定数据库存放的路径,将发行版解压缩到您选择的目录中并运行脚本,放置二进制编译完成的程序

在目录中安装了 MariaDB(这是 MariaDB 在许多平台上的默认位置)。但是,任何其他目录也应该可以工作。

/usr/local/mysql

安装带有指向原始名称的符号链接的二进制文件。这样做是只需移动符号链接指向另一个目录,就可以轻松地更改 MariaDB 版本。

[root@node1 ~]#tar -xvf mariadb-10.2.15-linux-x86_64.tar. gz  -C /usr/local

进入到 usr/local 下会有一个解压缩目录,但这和目录是不符合条件的

 

5. 生成一个软连接

[root@node1 ~]#cd /usr/local

[root@node1 local]# ln -s mariadb-10.2.15-linux-x86_64.tar. gz / mysqlimage.png


会发现所有者很多都是500,就需要改变所有者。

image.png

 

6. 更改数据库的主属组为 root

[root@node1 local]# chown -R root:mysql

 image.png


7. 更新 PATH 路径

[root@node1 local]#echo "PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mysql.sh

此时配置文件就定义好了,便可以进一步做其他此操作


三、 配置用户的数据库

1. 创建磁盘

尽可能放到大的空间磁盘里

echo ‘- - -’ > /sys/class/scsi_host/host2/scan

image.png

 

2. 创建物理卷

pvcreate/dev/sdb

image.png


3. 创建逻辑卷

创建和物理卷一样大小的逻辑卷

[root@centos7 local]#lvcreate-lv_mysq1 -7 100%FREEvgo


4. 创建文件系统

mkfs.xfs /dev/vg0/lv_mysql

image.png

mkdir /data/mysql

getent passwd mysql

chown mysq1.mysql / data/mysqldb

ll -d /data/mysqldb

chmod 770 /data/mysqldb

此时用户的数据库就配置好了。


四、 初始化数据库

在数据库正式使用前,我们应当先初始化一下数据库,这操作会生成几个初始化的数据库。

假如以 /data/mysql 作为数据库存放数据的地方

[root@node1 local]# mkdir /data/mysql -p

官方编译的时候,是使用 mysql 用户来运行数据库,所以,存放数据目录的地方,mysql 用户必须具有读写权限,在这里,直接把属组属主改成 mysql

[root@node1 local]# chown mysql.mysql /data/mysql -R

进入到 mysql 目录

[root@node1 mysql]# cd /usr/local/mysql/

执行此命令,另外提供2个参数运行用户和基本目录:

[root@node1 mysql]#./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

Installing MariaDB/MySQL system tables in '/data/mysql' ...

OK

To start mysqld at boot time you have to copy

support-files/mysql.server to the right place for your syste...

注意:

--basedir= 是 mysql 程序的位置

--datadir= 是打算让数据存放的位置

初始化完成以后,查看 ls /data/mysql/ 能查看到初始化以后的数据库。

 

 五、 关于 mariadb 的配置文件

在官方配置好的 mariadb 读取配置文件有顺序之分。

读取顺序:

/etc/my.cnf > /etc/mysql/my.cnf > /usr/etc/my.cnf > ~/.my.cnf

前2个 /etc/my.cnf 后者 /etc/mysql/my.cnf 比较常用,另外一种常用的配置就是在启动 mysql 时,给它指定好配置文件。

另外需要注意的是,有可能你的旧配置文件 /etc/my.cnf 存在,这样可能会影响到数据库的配置,此时需要保证该配置文件的配置有效性。

[mysqld]

datadir=/data/mysql //配置数据库路径

socket=/user/local/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

# Settings user and group are ignored when systemd is used.

# If you need to run mysqld under a different user or group,

# customize your systemd unit file for mariadb according to the

# instructions inhttp://fedoraproject.org/wiki/Systemd

[mysqld_safe]

log-error=/data/mysql/log/mariadb.log

pid-file=/data/mysql/pid/mariadb.pid

# include all files from the config directory

!includedir /etc/my.cnf.d

根据此配置文件,我还需要在 /data/mysql 下创建2个目录,用于保存日志和 pid文件

[root@node1 mysql]# mkdir /data/mysql/{log,pid}

[root@node1 mysql]# chown mysql.mysql -R /data/mysql

 

六、 自动启动 mysqld

初始化和配置都完成以后,接下来可以启动 mariadb 了,在官方的二进制包种,带上了 systemd 的启动脚本。

ls /usr/local/mysql/support-files/systemd/

mariadb.service

mariadb@.service

use_galera_new_cluster.conf

#复制 systemd 配置文件

[root@node1 mysql]# cp support-files/systemd/mariadb.service /lib/systemd/system/

#重新加载配置 systemd

[root@node1 mysql]# systemctl reload

#启动mariadb

[root@node1 mysql]# systemctl start mariadb

您可以通过将文件文件复制到正确的位置来使 mysqld(MariaDB 服务器)自动启动。

mysql.server

cp support-files/mysql.server /etc/init.d/mysql.server

确切的位置取决于您的系统。该文件包含有关如何使用和微调它的说明。mysql.server

对于 systemd 安装

需要将 mariadb.service 文件从 support-files/systemd 文件夹复制到 /usr/lib/systemd/system/  文件夹中。

cp support-files/systemd/mariadb.service

/usr/lib/systemd/system/mariadb.service

请注意,默认情况下,/usr/  目录受 systemd 的写保护,因此,当按照上述说明将数据目录放在  /usr/local/mysql/data 中时,您还需要使该目录可写。

您可以通过添加额外的服务包含文件来执行此操作:

mkdir /etc/systemd/system/mariadb.service.d/

cat > /etc/systemd/system/mariadb.service.d/datadir.conf <

[Service]

ReadWritePaths=/usr/local/mysql/data

EOF

systemclt daemon-reload

在此之后,您可以使用

systenctl start mariadb.service

systemctl stop mariadb.service

 

七、 安全初始化

数据库默认安装后

MariaDB [mysql]> select user,host from mysql.user;

| user | host

| root | 127.0.0.1

| root | ::1

| centos7.qifei.com

| root | centos7.qifei.com

| localhost

| root | localhost

6 rows in set (0.00 sec)

MariaDB [mysql]> select user,host password from mysql.user

| user | password

| root | 127.0.0.1

| root | ::1

centos7.qifei.

| root | centos7.qifei.

| localhost

| root | localhost

6 rows in set (0.00 sec)

跑脚本

[root@centos7 ~]#mysql_secure_installation  (安全初始化)

请输入 root 口令,你没有直接回车

Enter current password for root (enter for none):

是否设置 root 口令

Set root password? [Y/n] y

New password:

Re-enter new password:

是否删除匿名账户

Remove anonymous users? [Y/n] y

是否禁用 root 用户远程连接

Disallow root login remotely? [Y/n] n

是否删除 test 测试文件

Remove test database and access to it? [Y/n] y

是否生效保存

Reload privilege tables now? [Y/n] y

 

八、 注意事项

[fei@centos7 ~]$mysql -uroot -p 普通用户用 root 登录

Enter password:

MariaDB [(none)]> system cat /etc/passwd // 能打开所有文件 并且能修改 root 密码  

root:x:0:0:root:/root:/bin/bash

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
关系型数据库 MySQL Linux
Linux(centos 7.5)服务器安装MariaDB
Linux(centos 7.5)服务器安装MariaDB
122 0
|
8月前
|
缓存 关系型数据库 MySQL
MariaDB的安装与配置
MariaDB的安装与配置
429 0
|
关系型数据库 MySQL Linux
CentOS 7.x 卸载删除MariaDB,重新安装
CentOS 7.x 卸载删除MariaDB,重新安装
223 0
|
4天前
|
存储 关系型数据库 MySQL
源码包安装mariadb
**MariaDB**是MySQL的一个开源分支,由社区维护,提供高性能、安全且与MySQL高度兼容的数据库解决方案。它使用XtraDB和Maria存储引擎替代InnoDB和MyISAM。特点是开源、高性能、兼容性和安全性,广泛应用于各种场景和操作系统。在Redhat 9.2上安装MariaDB 10.6.17,首先配置yum源,检查现有MySQL/MariaDB,安装依赖包,下载源码,解压并配置编译环境,使用cmake和make编译安装,初始化数据库,创建用户,设置密码,添加启动脚本至开机自启,并执行安全初始化设置。
10 0
|
1月前
|
网络协议 关系型数据库 MySQL
安卓手机termux上安装MariaDB数据库并实现公网环境下的远程连接
安卓手机termux上安装MariaDB数据库并实现公网环境下的远程连接
|
7月前
|
关系型数据库 Linux 网络安全
Linux系统下安装mariaDB数据库及防火墙
Linux系统下安装mariaDB数据库及防火墙
114 0
|
4月前
|
SQL 关系型数据库 MySQL
centos编译安装mariadb
一般我不太愿意用mysql,那个玩意,有的时候不太友好。 我还是比较喜欢mariadb。
131 0
|
8月前
|
存储 关系型数据库 MySQL
mysql--Centos安装MariaDB(mysql)
mysql--Centos安装MariaDB(mysql)
1327 0
|
8月前
|
Ubuntu 关系型数据库 MySQL
Ubuntu安装MariaDB-10.3数据库(等同于Mysql-5.7)
Ubuntu安装MariaDB-10.3数据库(等同于Mysql-5.7)
192 0
|
12月前
|
机器学习/深度学习 Oracle 安全
MariaDB Centos7 下安装MariaDB
MariaDB Centos7 下安装MariaDB
300 0

推荐镜像

更多