二进制安装MySQL


一、三种安装方式的区别

源码安装

        自己下载源码压缩包,执行config、make、make install完成编译安装,里边的目录参数完全自己定制,这些操作完成后需要修改数据库配置文件,修改权限,然后完成初始化安装;

二进制免编译安装

        与源码安装的区别是已经完成了config、make的操作,把二进制安装包解压就相当于源码安装的make install步骤,之后的步骤就和源码安装一样,只不过那些目录参数的配置要按照默认的/etc/local/mysql/来处理;

rpm/yum安装

        这种安装方法中已经把MySQL的二进制安装包,数据库配置文件的修改,初始化安装已经集成到rpm包中,我们只要做的是安装rpm包,那些一系列的操作会自动帮我们完成,安装成功后,就可以直接开启数据库服务然后使用了。


二、二进制安装MySQL

你会发现我安装的怎么是mariadb啊,自从开源MySQL被Oracle公司收购后,MySQL的创始人又重新开发了一款开源数据库mariadb,其实mariadb和MySQL的操作完全一样,CentOS7里边默认的数据库是mariadb,但是系统里边开启数据的命令、配置文件参数还是MySQL,因此我就用MySQL泛指了。

        ① 下载二进制安装包,我这的服务器的地址为ftp://172.18.0.1/pub/Sources/m28/mariadb-10.2.14-linux-x86_64.tar.gz,

[root@CentOS7 ~]# cd /usr/local/src/
[root@CentOS7 src]# pwd
/usr/local/src
[root@CentOS7 src]# wget -q ftp://172.18.0.1/pub/Sources/m28/mariadb-10.2.14-linux-x86_64.tar.gz

将二进制安装包下载至/usr/local/src/目录下,-q采用静默方式下载

        ② 解压二进制安装包至/usr/local/目录下

[root@CentOS7 src]# tar -zxv -f mariadb-10.2.14-linux-x86_64.tar.gz -C /usr/local/

之后会在/usr/local/目录下生成mariadb-10.2.14-linux-x86_64目录

        ③ 将生成的目录改名为mysql,之所以这样改是因为配置文件中指定的目录为/usr/local/mysql,二进制安装就是这样,我们必须安装当初编译的时候指定的目录。更改目录名只是一种办法,当然还可以建立软链接 ln -s mariadb-10.2.14-linux-x86_64 mysql.

[root@CentOS7 src]# cd /usr/local
[root@CentOS7 local]# mv mariadb-10.2.14-linux-x86_64 mysql

        ④ 创建用户mysql、组mysql

[root@CentOS7 ~]# groupadd mysql
[root@CentOS7 ~]# useradd -g mysql mysql
[root@CentOS7 ~]# id mysql
uid=1002(mysql) gid=1002(mysql) groups=1002(mysql)

        ⑤ 修改/usr/local/mysql/目录下所有文件的权限

[root@CentOS7 ^]# cd /usr/local/
[root@CentOS7 local]# chmod -R mysql.mysql mysql/

blob.png

        ⑥ 修改数据库配置文件,我这里是把提供的模板拷贝到/etc/my.cnf中的,然后执行数据库初始化脚本,完场数据库的初始化安装。

[root@CentOS7 ~]# cd /usr/local/mysql/support-files
[root@CentOS7 support-files]# cp my-large.cnf /etc/my.cnf
[root@CentOS7 ~]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql

        ⑦ 启动mysqld服务,软件提供了执行文件用来启动服务。

[root@CentOS7 ~]# /usr/local/mysql/bin/mysqld_safe &

因为该命令会一直占用终端,因此使用&将进程切换至后台

blob.png

        ⑧ 如果每次这样启动mysqld服务的话,会一直占用终端,因此我们可以把mysqld改为服务启动模式,即可以使用service xxx start的方式启动

[root@CentOS7 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

        ⑨ 进行到这一步,数据库就可以正常使用了,但是root没有设置密码,匿名用户可以登录,为了安全考虑,可以执行如下命令        

[root@CentOS7 ~]# /usr/local/mysql/bin/mysql_secure_installation

执行数据库安全设置.



猜你喜欢

转载自blog.51cto.com/13570193/2108374