当前位置: 首页 > news >正文

Linux MariaDB部署

1:查看Linux系统版本

cat /etc/os-release

#返回结果:

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31" 

2:下载MariaDB安装包,根据步骤1找对应的安装包:

示例版本:mariadb-10.4.18-linux-x86_64

3:利用lrzsz工具上传安装包:

事先规划好mariadb的安装目录:

比如:使用df -h 查看磁盘空间使用情况,使用mkdir -p 递归创建好安装目录和数据文件存放目录,示例目录:

安装包目录:/Home/mariadb/

数据文件目录:/Home/mariadb/data

# 进入安装目录
cd /Home/mariadb

# 上传安装包
rz mariadb-10.4.18-linux-x86_64.tar.gz

# 解压tar.gz文件 
tar -xzvf mariadb-10.4.18-linux-x86_64.tar.gz

-x:表示从压缩档案中提取文件
-z:表示文件是经过 gzip 压缩的
-v:表示详细模式,会在解压过程中列出所有被处理的文件
-f:指定要处理的文件名

# 把解压的全部文件转移到当前目录
mv mariadb-10.4.18-linux-x86_64/* .

# 删除空文件夹
rm -rf mariadb-10.4.18-linux-x86_64

4:创建mysql 用户并赋予权限

 useradd -s /sbin/nologin -M mysql
  • useradd:这是用于创建新用户账户的基本命令
  • -s /sbin/nologin
    • /sbin/nologin 是一个特殊的 shell,它不允许用户登录系统。当用户尝试登录时,会显示一条消息说账户当前不可用。
    • 这个设置对于服务账户来说很有用,因为它们通常不需要直接登录系统,而是通过服务本身进行管理
  • -M
    • 这个选项告诉 useradd 命令不要为用户创建主目录。
    • 默认情况下,useradd 会为用户创建一个主目录,但对于许多服务账户来说,这是不必要的。
  • mysql:这是新用户的用户名。在这个例子中,我们创建了一个名为 mysql 的用户,这通常是用于运行 MySQL 数据库服务的账户
#所有权给mysql
sudo chown -R mysql:mysql /home/mariadb
  • chown
    • 改变文件或目录的所有者和/或组。
    • 语法为 chown [选项] [新所有者][:新组] 文件或目录
  • -R
    • 递归地更改指定目录及其所有子目录和文件的所有权

5:执行安装脚本

进入到安装目录(/Home/mariadb/)

./scripts/mysql_install_db --basedir=/home/mariadb --datadir=/home/mariadb/data --user=mysql

注意上面的脚本路径分隔符“/”前后不要有空格,否则会有报错 ,执行响应结果:

Installing MariaDB/MySQL system tables in '/home/mariadb/data' ...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

上面这句提示:如果要开机启动mysqld,应复制support-files/mysql.server脚本文件到相应的目录中,参考下面的开机自启动

 6:修改my.cnf配置文件

在步骤5执行安装前linux系统中已经存在/etc/my.cnf, mariadb启动时会检查这个配置文件,主要配置basedir 和 datadir两个目录,及端口号等,修改前可做一个备份;

cp support-files/wsrep.cnf  /etc/my.cnf

其中“support-files/wsrep.cnf”根据安装的mariadb版本不同,名称会不同

编辑/etc/my.cnf文件:

在[mysqld]节点下增加如下配置:

[mysqld]
basedir=/home/mariadb
datadir=/home/mariadb/data

7:设置mysql环境变量

echo 'export PATH=/home/mariadb/bin:$PATH' >  /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh

将 /home/mariadb/bin 追加到系统的 PATH 环境变量中,重定向输出到mysql.sh脚本中;“/etc/profile.d/”目录用于存放各种 shell 初始化脚本。系统会在用户登录时自动加载该目录下的脚本

查看环境变量:

[root@mftx1438 mariadb]# $PATH
或者验证mysql 指令是否生效:

[root@mftx1438 mariadb]# mysql --version
mysql  Ver 15.1 Distrib 10.4.18-MariaDB, for Linux (x86_64) using readline 5.1

8:设置开机自启动mariadb

# 复制启动脚本到开机启动初始化服务脚本中
cp support-files/mysql.server /etc/rc.d/init.d/mysql.server

# 加入开机自启动服务列表中
chkconfig --add mysql.server

# 设置开机启动
chkconfig mysql.server on

此时可以开启mariadb服务了:

systemctl start mysql.server

或者也可以这样:/etc/init.d/mysql.server start 对应停止就是stop

9:设置root密码

开启mariadb后,执行

mysql -uroot -p

ctrl+C 不输入密码登录;

在mariadb控制台中输入下列指令,赋予root账号权限;

grant all privileges on *.* to 'root'@'%' identified by '111111';
grant all privileges on *.* to 'root'@'localhost' identified by '111111';
grant all privileges on *.* to 'root'@'127.0.0.1' identified by '111111';
flush privileges;

重新使用root登录mariadb: mysql -uroot -p111111

[root@mftx1438 mariadb]# mysql -uroot -111111
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.4.18-MariaDB MariaDB Server

执行查询: select @@version

<The end>

相关文章:

  • Openssl自签证书相关知识
  • 技术改变生活的10种方式
  • 存储服务器是指什么
  • Java 8 代码重构实战之四 Lambda表达式重构工厂模式与责任链模式
  • JVM - 类加载相关
  • 做一个多级动态表单,可以保存数据和回显数据
  • 【论文分析】无人机轨迹规划,Fast-Planner:实时避障+全局最优的路径引导优化算法
  • Rust从入门到精通之进阶篇:12.高级类型系统
  • ubuntu虚拟机的磁盘扩容,虚拟机的克隆
  • 将ZABBIX结合AI实现自动化运维
  • <数据集>轨道异物识别数据集<目标检测>
  • 操作系统高频(四)linux基础
  • nginx-rtmp-module之ngx_rtmp_live_module.c代码详解
  • 前端显示no data(没有数据,一片空白)
  • ComfyUi教程之阿里的万象2.1视频模型
  • OGG故障指南:OGG-00446 Checkpoint table does not exist
  • 深度解析Spring Boot可执行JAR的构建与启动机制
  • Go 语言规范学习(2)
  • 【商城实战(74)】数据采集与整理,夯实电商运营基石
  • C++:类和对象(二)
  • 做视频网站成本高吗/全国疫情最新数据
  • 网站内容建设招标/成都百度推广电话号码是多少
  • 网站建设协/网站建设在线建站
  • 网站被挂马原因/怎么做品牌推广和宣传
  • 如何看那个网站是那个公司做的/电商网站网址
  • 广州网站建设网站/深圳做网站的公司有哪些