linux运维学习之二进制格式安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux运维学习之二进制格式安装相关的知识,希望对你有一定的参考价值。

    本周给大家带来的是关于mysql的二进制格式的安装,我们对于mysql的安装一般有两种方式,一是通过yum安装,二是通过二进制格式的安装,第一种方法yum安装的方式非常简单,如下:

    Centos6:yum install mysql-server
    Centos7:yum instlal mariadb-server

    但是简单的背后就是各种限制,数据库文件被限制,配置文件也被限制,软件版本的限制,我们只能被动的使用,而如果我们使用二进制格式的安装就可以指定数据库文件放在什么地方,配置文件也都是我们自己制定,有利于灵活的使用,还有新版本的使用,还有一种不方便的安装方式,那便是自己手动编译安装,因为mysql文件其实蛮大的,编译过后可能超过10G,而且编译也需要大量的时间,所以我们就把别人编译过得二进制文件拿过来安装,本次实验是基于Centos7,安装包为mariadb-10.2.8-linux-x86_64.tar.gz

    首先,我们需要新建一个mysql的用户,出于安全设置其登录方式为/sbin/nologin,指定其家目录为/app/mysqldb,我的这个/app是专门新建的一个文件夹,因为以后我们的数据库文件会放在这里,在生产环境中,该文件夹中的数据库会越来越大,如果我们使用的是lvm逻辑卷的方式,还可以扩展,而使用的普通分区就尽量选择大一点的文件夹,新建用户代码如下:

useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql

    我们需要在https://downloads.mariadb.org/获取mariadb-10.2.8-linux-x86_64.tar.gz,然后解压缩到指定的目录/usr/local/,这个是固定的目录,不可更改,我们却切换到该目录下,为了方便我们把该目录进行链接为/mysql

tar xvf mariadb-10.2.8-linux-x86_64.tar.gz  -C /usr/local/
cd /usr/local/
ln -s mariadb-10.2.8-linux-x86_64/ mysql

    做完这些我们查看了一下,在/etc下并没有关于mysql的相关配置,所以需要我们自己来完成该配置文件的完成,新建了一个mysql的目录,是为了便于管理,毕竟/etc下的文件很多,找到我们新建的文件中的[mysqld]的下面加入我们需要的三行代码,

mkdir /etc/mysql/                
cd /usr/local/mysql/ 
cp support-files/my-huge.cnf  /etc/mysql/my.cnf
vim /etc/mysql/my.cnf
[mysqld]
datadir = /app/mysqldb     #指定数据库的目录
innodb_file_per_table = on #将每个表都放在单独的文件夹中
skip_name_resolve = on     #禁止主机名解析(不关闭,会导致数据库运行慢)

    然后我们开始指定安装,我们还在/usr/local/mysql/下,为什么要这样安装呢,是因为别人在编译脚本里已经写死了,所以我们在这个相对路径下,才能安装成功

scripts/mysql_install_db  --user=mysql --datadir=/app/mysqldb

    安装过后,为了使我们以后的使用更加方便,所以我们需要我们进行以下操作:

cp  support-files/mysql.server  /etc/init.d/mysqld
chkconfig --list mysqld   #查看chkconfig中是否有我们的mysqld
chkconfig --add mysqld    #添加mysqld进入chkconfig
service mysqld start      #启动mysqld,跟系统应用一样的方式,不过这一步注定会失败

    失败的原因是什么呢?缺少日志文件,或者说对日志没有读写的权限,所以我们要更改我们要更改文件夹的所有者或者使用ACl,为了简便,我使用了改变所有者的方式:

mkdir /var/log/mariadb/
chown mysql /var/log/mariadb/
service mysqld start          #启动成功

    然后我们需要把执行路径修改一下,因为我们不能使用都打出全部路径,那样也太蠢了。

vi /etc/profile.d/mysql.sh       #写入文件,以后也能生效
PATH=/usr/local/mysql/bin:$PATH  #增加到PATH中
 . /etc/profile.d/mysql.sh      #source一下,生效。

    然后我们的mysql就算完成了,为什么说算呢?因为安全隐患:mysql安装之后,有安全隐患,无论什么身份只要在本机,就能以root登录mysql,mysql可以匿名链接,不过权限不大,也算是小安全隐患

解决:

/usr/bin/mysql_secure_installation

    这个脚本是个交互式的,不过很简单,我们在里面关闭匿名登录,和设置口令就可以保证mysql的进一步的安全,不过下一次登录时,需要输入密码;

mysql -uroot -p  #-u[user] [-hhost]不写默认本机登录 -p[PASSWD] 就是口令

     至此我们的mysql的二进制的安装就完成了,然后就可以愉快的使用了!


    

以上是关于linux运维学习之二进制格式安装的主要内容,如果未能解决你的问题,请参考以下文章

Linux运维学习之cobbler自动安装系统

运维学习之Linux系统中的文件传输归档压缩

运维学习之lvm(逻辑卷管理)

运维学习之selinux初级管理

Linux运维学习之数组

Linux运维学习之如何进行Rsync排错?