Linux记录9-4.22,4.23
MariaDB是MySQL的一个分支。
MySQL --> SUN --> Oracle 收购。
为了避免收费风险,越来越多公司使用MariaDB
下软件包,固定一个目录:
用 wget + 目标文件下载地址方式 下载一个MariaDB 免编译文件
下载好之后,查看一下。
解压 .tar.gz
可见有一个新的目录(蓝色)(注意哦,这是目录不是文件)
这个目录绝对地址: /usr/local/src/mariadb-10.3........
为了方便维护,变更到 /usr/local/mysql (这里mv作用于目录,相当于重新定义了路径)
去/usr/local/mysql 下确认变更成功,原来目录/usr/local/src/mariadb-10.3........里的内容现在变更到了/usr/local/mysql
三种压缩和解压缩常见格式:
z相对于 .gz 文件格式的压缩。
j相对于 .bz2 文件格式的压缩。
J(大写j)相对于 .xz 文件格式的压缩。
压缩命令是 gzip 1.txt(默认的工具); 解压命令 gzip -d 1.txt.gz (解压就是加 –d)
压缩命令是 bzip2 1.txt (需yum下载); 解压命令bzip2 -d 1.txt.bz2
压缩命令是 xz 1.txt (需yum下载); 解压命令 xz –d 1.txt.xz
解压 .tar.gz 格式 的安装包命令 tar zxvf 安装包全名
解压 .tar.bz2格式 的安装包命令tar jxvf 安装包全名
解压 .tar.xz格式 的安装包命令tar Jxvf 安装包全名
压缩+打包的命令:
把123/目录进行 压缩并打包
(v是可视化可不加)
tar zcf/jcf/Jcf 打包后的名字.对应格式 打包的目录名
例子:
tar zcvf 123.tar.gz 123/ 把123/目录 压缩并打包成文件123.tar.gz
tar jcvf 123.tar.bz2 123/
tar Jcvf 123.tar.xz 123/
也可以这样打包 /root/123/目录
cd / root
tar cvf 123.tar 123
cd切到目录下ls查看,然后先看一下 安装指南:
less INSTALL-BINARY
查阅的安装步骤:
欲执行的初始化步骤,但是 /data/mysql 目录不存在, 用户mysql也不存在,不能直接执行,所以在这之前还需要先创建。 (/data/mysql是存mysql数据的一个目录)
mkdir 目录路径 :创建一个目录路径(基于前面的目录都存在的情况下)
mkdir -p 目录路径 -p的作用:级联创建,如果有不存在的目录就创建它。
可见因为主目录/data/不存在,所以直接创建不存在的主目录下的子目录/data/mysql并不成功。
mkdir -p /data/mysql 级联式创建,这样即使/dada/不存在也能创建/data/mysql
创建用户mysql: useradd mysql (在这个基础上需要做一些特殊设定)
不需要创建家目录:useradd -M mysql
user1时候会自动创建一个家目录/home/,这里并不希望去创建这个家目录
还需要去创建一个shell : useradd –M –s /sbin/nologin mysql
为了安全起见,这个用户创建了但是并不登陆,仅仅作为一个服务用的用户
创建完以后可以grep查看一下
uid:1001 gid:1002 这里有写出家目录/home/mysql,但是是红色的说明并没有去创建它,设定的shell 是/sbin/nologin
/bin/bash 是默认指定的shell,
mysql的shell和user1默认的shell是不一样的,是为了安全起见不让别人登陆,所以指定使用的shell。
还必须指定mysql的属主,属组,不然服务无法启动
chown -R mysql:mysql /data/mysql
最后,现在目录有了,用户有了,可以开始 初始化mysql ,目的是生成一个mysql的库。
成功
有可能出现的错误: 缺少某个文件
这里是 libaio ,则用yum安装就好:
yum install -y libaio
或者yum install -y libaio-devel
最后安装成功后可以去 /data/mysql/ 下查看,蓝色mysql 就是最主要的库。
按TAB可以把目录里面的文件都列出来
cp拷贝启动脚本,并变更到目录 /etc/init.d/mysqld
启动前还需要vi 编辑一下这个启动脚本配置
basedir = 程序所在的路径
datadir = 数据所在的路径
:wq退出编辑
现在可以正式启动服务了
如何验证一条命令是否正常?
在敲完这条命令以后马上运行 echo $?
看反馈的数字是否是0,如果不是0就说明这个命令有错误。