标签:facl cal 避免 lin 编译 程序包 mkdir touch 二进制包
软件包的安装方式有三种:源码包安装、二进制包安装、rpm包安装。这三种安装方法都各有优劣。RPM安装:适合小环境,核心功能都具备,快速搭建环境,但它的版本一般都不会太高;二进制安装:它是发布出来时预先编译过的,既避免了编译的麻烦,又提供了增强功能;编译安装:它的要求高,要有编译环境,编译时可指定几乎所有选项,可满足你的所有选择。
今天就来讲讲二进制方式的安装,它即解决了版本的问题,又不会像源码编译一样需要我们花费大量的时间去编译。对于二进制格式的包,我们只需要解压缩后就能够使用数据库,这听起来很容易,但必须要注意一些问题。二进制格式的程序包是已经编译好的二进制程序,所以里边有很多脚本都是在固定的路径下执行的,所以安装过程中我们必须按照它所给的安装信息来安装。而安装MariaDB它的安装路径必须在/usr/local目录下,并且目录名称必须叫mysql。如果不这样设置,一些脚本无法运行,更别提能成功安装了。
安装步骤:
1、下载二进制包
2、解压到安装目录,查看内置的安装信息
3、准备配置文件
4、准备数据库
5、准备日志文件
6、准备服务脚本
7、安全初始化
安装过程:
1、下载二进制包。下载地址为:https://downloads.mariadb.org/
我这里选择最新版本的mariadb-10.2.8稳定版,进入后下载适用于64位操作系统的Linux x86_64版本
这个里面有针对各个版本的不同的二进制包,我选择第二个,它是一个Linux里的通用安装包。下面的一个是针对systemd系统的安装包,最后一个安装包需要你的glibc库版本在2.14以上。
2、解压到安装目录下
下载完成后上传到Linux里,然后解压
tar -xvf mariadb-10.2.8-linux-x86_64.tar.gz
然后进入目录查看里面给定的安装信息
cat INSTALL-BINARY
根据安装里的提醒我们去准备配置文件
3、准备配置文件
根据文件我们要创建一个mysql的用户,它可以对以后的mysql数据库进行管理,同时我们还可以指定mysql的家目录,这样以后它的存储数据就可以独立出来放置了,同时指明shell类型为nologin
useradd -r -m -d /app/date -s /sbin/nologin mysql
移动解压的目录到/usr/local/下,同时还可以创建一个mysql的软连接,这样可以方便以后的版本更新
mv mariadb-10.2.8-linux-x86_64 /usr/local
cd /usr/local ; ln -sv mariadb-10.2.8-linux-x86_64 mysql
然后要把这个目录的管理权限给mysql管理
chown -R root:mysql mysql/
提供mysql的配置文件,解压的包里内置了几个提供的配置文件。放置在support-files这个目录里,我们可以根据你要创建的数据的大小来选择用哪一个配置文件
这里就选择最大的huge配置文件来进行复制了,并把它放入指定的目录下,以避免可能和旧版本的冲突
mkdir /etc/mysql/
cp support-files/my-huge.cnf /etc/mysql/my.cnf
编写里面的配置文件
vim /etc/mysql/my.cnf
在mysqld的后面加入有注释的这三行,目的是为了指明数据存放位置和方便以后对表的管理。
4、准备数据库文件
./scripts/mysql_install_db --datadir=/app/data --user=mysql
执行后它会给一些警报信息,当然这些警报信息是可以忽略的
5、准备日志文件
准备好日志文件,这样可以有利于以后的排错。当然由于这个服务是mysql管理的,而mysql是对/var/log/这个目录没有写权限的,所以这里我们还需要给mysql一个ACL的特殊权限才行
mkdir /var/log/mariadb/ MariaDB的默认存放目录就为mariadb,所以就创建这样一个存放MariaDB日志的目录
touch /var/log/mariadb/mariadb.log 再创建一个放日志的空文件
setfacl -R -m u:mysql:rwx /var/log/mariadb/mariadb.log 给予mysql一个ACL的特殊权限,使它可以读写日志
6、准备服务脚本
到这里MariaDB二进制包已经安装完毕了。我们现在就要把这个服务启动起来,所以就需要为这个服务准备启动脚本。当然这个脚本也在软件包里有提供,我们只需要复制出来就可以使用了。这个脚本也是放置在support-files这个目录里,它的里面有一个mysql.server的文件就是提供的服务脚本
cp support-files/mysql.server /etc/init.d/mysql 复制到/etc/init.d/放置服务脚本的目录下
chkconfig --add mysql 把这个服务加入到服务列表中去
chkconfig on 把这个服务设定为开机自启,默认为2、3、4、5这三种模式下开机会自动启动
service mysql start 打开这个服务
做完这些后我们就可以进入数据库了,但是它的命令路径不在默认的PATH路径下,而是在/usr/local/mysql/bin/目录下,所以我们每次要进入数据库还需要敲这长长的一串命令。这样太麻烦
所以我们就把这个命令的路径写入到PATH变量里面去,省的以后敲命令麻烦
vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile.d/mysql.sh 使这个配置文件及时生效
添加完成后就可以使用 mysql 这个命令来直接进入数据库了
7、安全初始化
此时myaql这个服务以经开启了,但是它现在并不安全。因为现在任何用户都可以访问这个数据库,所以我们要给这个数据库设置管理用户,设定访问权限。
下面这个xxxx用户是不需要密码就可以进入的:
所以为了安全,我们要对数据库进行安全初始化设置。这个命令在mysql的命令包里是自带的所以我们只需要去执行这条命令就可初始化了
从上图可以看到安全初始化后,匿名账号已经登录不进去了。现在管理员就可以自由的分配用户来进行对数据库的管理了。
管理员进入数据库进行查看:
当然这样纯字符的管理并不是那么的好看,所以它还可以结合HTTP和PHP这两个服务来进行网页上的图形化管理,这就是lamp组合。那样将会更容易看懂,更容易操作。当然这里就先不介绍那么多了
标签:facl cal 避免 lin 编译 程序包 mkdir touch 二进制包
原文地址:http://www.cnblogs.com/54db/p/7586577.html