本周给大家带来的是关于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的二进制的安装就完成了,然后就可以愉快的使用了!
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。