一、MariaDB安装介绍:
对于通用二进制格式的包,我们只需要解压缩后就能够使用数据库,听起来很容易,但必须要注意一些问题。二进制 格式的程序包是已经编译好的二进制程序,所以里边有很多脚本都是在固定的路径下执行的,所以安装过程中mysql这个路径必须安装在/usr/local目录下,并且目录名称必须叫mysql。如果不这样设置,一些脚本无法运行,更别提能成功安装了。
Mariadb通用二进制格式相关文件说明
当获取到Mariadb通用二进制格式文件,解压后查看其文件如下:
[[email protected] etc]# ls /usr/local/mysql/ bin data INSTALL-BINARY mysql-test share COPYING EXCEPTIONS-CLIENT lib README sql-bench COPYING.LESSER include man scripts support-files
bin:可执行的二进制程序文件存放目录
data:如果我们不创建新目录的话,此目录就是默认的数据目录。所以至少属组是mysql
INSTALL-BINARY:安装帮助信息,所以安装之前可以先阅读以下此文件内容,描述得非常的详细,比我写的好得多啦。如果看不懂,那就看此版吧
mysql-test:mysql测试相关的组件,里边有文档,有兴趣可以瞅瞅,我就不详细描述了
share:mysql的共享内容
lib:mysql运行需要调用的库文件
sql-bench:对mysql做压力测试工具,后期再对这项进行讨论
man:帮助手册
scripts:mysql初始化时要用到的脚本,通读一下脚本内容,可让你了解一些mysql安装过程
support-files:mysql正常运行的眼里性的配置文件或文档
include:头文件
README:软件说明文件
注意:上述中的data虽为数据库文件默认存放的目录,但是如果在企业里,企业数据增长很快,数据文件会很大,安全性和可扩展性都不好。所以做好还是存放到另一个磁盘上会更加安全。
二、通用二进制格式安装MariaDB步骤:
1、准备工作
1.1 创建数据库安装目录
~]# mkdir /mydata/data
1.2 添加名为mysql的系统用户,且用户组为mysql
~]# useradd -r mysql # 默认创建的属主属组均为mysql;-r 表示创建的是系统用户。
1.3 获取mariadb二进制源码安装包。
Mariadb官方站点www.mariadb.org中下载mariadb-5.5.46-linux-x86_64.tar.gz 包,并将其复制到Linux服务器中。
2、将安装包解压到/usr/local路径下(不用再说为甚了了吧,如果此处不明白请重新看一遍此文)
~]# tar -zxvf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local/
3、修改压缩文件的路径(使用软链接的方法,将解压后的文件链接到当前目录中的mysql上)
~]# cd /usr/local ~]# ln -sv mariadb-5.5.46-linux-x86_64 ./mysql
4、查看一下/usr/local/mysql (其实源文件就是 /usr/local/mariadb-5.5.46-linux-x86_64,但我们只能使用/usr/local/mysql替代之)的属主属组不是mysql,需要我们手动更改
~]# ll /usr/local/mysql/ #查看mysql目录下的属组与属组 ~]# chown -R root.mysql /usr/local/mysql/* #只要文件的属组为mysql即可
5、初始化前期准备
在/usr/local/mysql/support-file中有很多样例配置文件,
~]# ls /usr/local/mysql/support-files/ binary-configure my-innodb-heavy-4G.cnf my-small.cnf mysql.server magic my-large.cnf mysqld_multi.server SELinux my-huge.cnf my-medium.cnf mysql-log-rotate
说明:
适用于不同场景的数据库配置文件:(内存大小不十分确切,这里只是举例子让你容易了解)
my-small.cnf :内存使用较小,一般在64M左右
my-medium.cnf :内存使用中等,一般在256M左右
my-large.cnf :使用较大的内存,一般在512M左右
my-huge.cnf :巨大内存使用量,达到几G
my-innodb-heaby-4G.cnf :innodb数据库引擎,内存至少4G
配置文件:
mysql.server: mysql服务管理文件,与服务的start、stop、status、reload相关
5.1选择mysql配置文件,并复制到/etc/mysql/中,并进行修改
~]#mkdir /etc/mysql # /etc目录中不存在mysql目录,需要手动创建 ~]# cp /usr/local/mysql/support-files/my-large.cnf /etc/mysql/my.cnf #将选择的配置文件复制到/etc/mysql/中,并重命名为my.cnf
~]# vim /etc/mysql/my.cnf #编辑配置文件在[mysqld] 下边位置填入一下三个语句 [mysqld] datadir = /mydata/data #设定数据文件存放位置 innodb_file_per_table = ON # skip_name_resolve = ON # 跳过主机名解析
在修改之前可以看到/etc/目录中有一个my.cnf的配置文件,此文件有mysql-libs生成的。我们创建的是/etc/mysql/mycnf配置文件,查看此两个文件:
~]# vim /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0[mysqld_safe] log-error=/var/log/mariadb/mariadb.log #/var/log/中不存在mariadb目录,需要手动创建,或者将此条目注销掉,否则启动服务时候会失败。 pid-file=/var/run/mariadb/mariadb.pid !includedir /etc/my.cnf.d ~]# vim /etc/mysql/my.cnf [mysqld] port = 3306 socket = /tmp/mysql.sock thread_concurrency = 8 datadir = /mydata/data #两个文件中的socket文件指向的文件路径不同,通过查看/var/lib/mysql/mysql.sock 和/tmp/mysql.sock 文件就可以判断那个配置文件生效了
5.2 将mysql的服务管理文件复制到/etc/init.d/目录下,并更名为mysqld
~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld ~]# chkconfig --add mysqld #将mysqld服务加入到开启启动项中
6、程序初始化
~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mydata/data --user :指定运行此程序的用户 --datadir:指定数据文件存放位置。
7、启动服务
~]# service mysqld start
注:如果第5.1中提到的/etc/my.cnf 没有更改,则服务启动会出现如下报错。
Starting MySQL. ERROR!
原因为log-error=/var/log/mariadb/mariadb.log 指向的路径无效,/var/log/ 中 存在mariadb目录。
此问题解决方法:
a、mv /etc/my.cnf /etc/my.cnf.bak #使/etc/my.cnf 失效
b、vim /etc/my.cnf # 将log-error=/var/log/mariadb/mariadb.log 注销掉
c、mkdir /var/log/mariadb # 创建 mariadb 目录。
8、验证
~]# ss -ntl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 50 *:3306 *:* LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* :3306 mysql端口号已经被监听
9、此时数据库启动必须要用绝对路径,如果想正常的启动需要在$PATH变量中加入mysql执行文件路径
~]# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
~]# source /etc/profile.d/mysql.sh #重新读取配置文件
10、导出头文件
如果我们需要他开发的话,或依赖其他程序编译的话,就需要导出
~]# ln -sv /usr/local/mysql/include/ /usr/include/mysql `/usr/include/mysql‘ -> `/usr/local/mysql/include/‘
11、导出库文件
~]# vim /etc/ld.so.conf.d/mysql.conf /usr/local/mysql/lib
12、启动mysql
~]# mysql #启动mysql数据库,如果出现未能启动情况,重新启动一下mysql服务 service mysqld restart Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 5.5.46-MariaDB-log MariaDB Server Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others. Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement. MariaDB [(none)]>
通用二进制格式mariadb安装完成了,你可以使用了。不用谢我了思密达~