zsyzhou 发表于 2018-10-7 11:35:23

二进制安装mysql|mariadb

  下载二进制安装包
  因为二进制安装包是已经编译过的,所以路径是已经定义好的,解包时需指定路径,默认为:/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

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

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

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

(↑Centos7依然可以放在该目录中,老的管理服务的方法还可以使用)
  chkconfig--addmysqld:将该服务加入到开机自启或关闭中,可用chkconfig命令控制

  然后可用servicemysqldstart来启动,但现在启动会报错,因为还缺少mysql的日志文件:
  Centos7提示:缺少var/log/mariadb/mariadb.log文件,但mariadb目录也不存在,所以需要先创建目录,再创建这个.log文件

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

  将mysql的路径添加到path变量里
  
  为了安全的考虑,需要运行一下安全脚本
  这样,二进制安装mysql|mariadb就完成了。
  

页: [1]
查看完整版本: 二进制安装mysql|mariadb