下载二进制安装包
因为二进制安装包是已经编译过的,所以路径是已经定义好的,解包时需指定路径,默认为:/usr/local/目录:
tarxvfmariadb包C/usr/local/

解包完成后,会在该目录下生成对应目录.需要将该目录改名或者创建软链接,使其名字为mysql,该名字是数据库配置文件中写死的
ln-s对应目录mysql


mysql安装时,默认会创建账号,其名为mysql.所以需要再创建用户,该用户的家目录以后要存放数据文件.
useradd-d家目录 /mysqldb -r -m -s  /sbinloginmysql


(↑注:该目录会存放数据库,可能会越来越大,所以需要有足够的空间,或放在独立的磁盘上)

需手工复制配置文件.该配置文件在解压缩过后的一个名为support-files的目录中:
配置文件有很多个,根据不同的场景做了优化:
my-huge.cnf:超大的环境
my-large.cnf:大环境
my-small.cnf:小环境
my-medium.cnf:中等环境在编译的时候,已经指定了配置文件的路径,所以将这些配置文件中的其中一个复制到指定的路径,并修改成指定好的名字:my.cnf:/etc/mysql/目录.默认该目录没有,所以需手动创建:
mkdir/etc/mysql
cpmy-xxx.cnf/etc/mysql/my.cnf

复制完配置文件后,可能该配置文件中有一些需要修改的地方,其中:
[mysqld]字段下面的定义:
datadir=路径:定义了数据库的数据存放路径(该路径为刚才创建mysql用户时,该用户的家目录)
innodb_file_per_table=on:innodb是数据库存储引擎.定义了若用这擎,则每个表单独存放一个文件.on是开启.(非必须)
skip_name_resolve=on:是否跳过IP的反向解析.(可提高访问速度,非必须)

wKiom1nknCaxsyWFAAAxjo1eLOI611.png

(↑以上最关键的要加datadir)
定义完数据存放路径后,用centos光盘安装,mysql会在该路径下有系统数据库和测试数据库等等一些文件,现在手动创建的目录,缺少这些文件.但二进制安装包解包后,提供了一个脚本来自动生成这些数据库和文件,该脚本存放在:/usr/local/mysql/scripts/目录中,但不要进入到这个目录,需要在mysql目录中运行,并且,需要指定用mysql用户来执行该命令,并再指定数据存放路径否则会报错:
scripts/mysql_install_db--user=mysql--datadir=/数据存放路径
(注,要指定执行的用户和数据存放路径.(该路径是配置文件中设置的路径,同样也是mysql用户的家目录))

wKioL1nkmYaxy0BSAAAWVIzWJLA794.png
mysql/support-files/目录下有该服务的服务脚本:
mysql.server.需要将其放在特定的目录下并改名为mysqld(改名非必须):
cp  support-files/mysql.server/etc/init.d/mysqld

wKiom1nknOCzwJ6nAAASoWnWYmc913.png


wKioL1nkmZ_gb1vsAAA2VKBJ7go633.png(↑Centos7依然可以放在该目录中,老的管理服务的方法还可以使用)

chkconfig--add  mysqld:将该服务加入到开机自启或关闭中,可用chkconfig命令控制

wKiom1nknXWTfSamAABvRsnQGW8087.png




然后可用service  mysqld  start来启动,但现在启动会报错,因为还缺少mysql的日志文件:

Centos7提示:缺少var/log/mariadb/mariadb.log文件,但mariadb目录也不存在,所以需要先创建目录,再创建这个.log文件

wKiom1nknayT2WkpAAAqBOx-Rvg989.png

Centos6提示:缺少var/log/mysql.log文件,直接在var/log/下直接创建文件即可

启动服务

wKiom1nknerCaHoxAAAfBf6Af_g004.png

将mysql的路径添加到path变量里

wKiom1nknl3hYWg4AAALOuH5zbQ029.png

为了安全的考虑,需要运行一下安全脚本

wKiom1nkntKzvoCXAACyV_EyIsk174.pngwKiom1nknubTHr74AAClll6J090226.pngwKiom1nknvaBsVgqAABpyxrmMYc994.png这样,二进制安装mysql|mariadb就完成了。