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>