关于centos7如何二进制安装mysql,详细步骤!

第一步:首先在mariadb官网下载mariadb编译好的二进制压缩包
https://downloads.mariadb.org/

第二步:解压下载好的mariadb压缩包,由于下载好的是别人编译好的二进制压缩包,所以解压路径是有规定的必须在 “/usr/local/” 下,若是自己源码编译可以自行选择解压目录!

tar xvf mariadb-102.23-linux-x86_64.tar.gz  -C  /usr/local/

·

第三步:由于解压好的文件夹(mariadb-10.2.23-linux-x86_64)与编译好的文件夹名字(mysql)不同所以我们需要更改文件夹名字或者创建一个软链接,这里我推荐创建软链接这样有利于以后的更换版本更加方便

  cd /usr/local/(进入/usr/local/目录下)
  ln -s mariadb-10.2.23-linux-x86_64/ mysql
    (为mariadb-10.2.23-linux-x86_64创建一个软链接名字为mysql)

第四步: 查看mysql文件夹 发现此文件夹下的所有文件的所有者和所属组属于错误,其特征为编号都为1000以上,所以我们需要把这个文件夹内的所有文件以及文件夹的所有者和所属组改为root

    ll mysql/(查看mysql下所有文件和文件夹属性)
    chown -R root.root mysql/(修改mysql下所有文件和文件夹的所有者和所属组为root)

第五步:由于mysql需要一个专门用于mysql特定的用户,但我们是编译安装,所以需要我们自己去创建一个mysql用户

mkdir /data/mysql(在/data下创建一个名为mysql的文件夹)

groupadd -r -g 336 mysql(创建一个权限为336,名为mysql的组)

 useradd -r -g mysql -u336 -s /sbin/nologin -d /data/mysql mysql

(创建一个权限为336,名为mysql,主组为mysql,家目录为/data/mysql mysql的用户。注:由于家目录是要存放数据的所以我建议家目录设定为逻辑卷,方便管理!)

 chown -R mysql.mysql /data/mysql(将/data/mysql文件夹的所有者和所属组都改为mysql)

·    

第六步:由于我们是二进制安装,所以在mysql文件夹里没有数据库所需的数据文件,但是在我们解压好的 mysql/scripts/ 文件夹下有一个 mysql_install_db的j脚本运行这个脚本便可以帮我们配置好数据库所需要的数据文件

scripts/mysql_install_db --user=mysql --datadir=/data/mysql(以mysql的身份运行mysql_install_db 脚本生成数据库文件到 /data/mysql)
·

第七步:由于我们是二进制安装,所以我们需要构建一个专门的配置文件,让mysql知道它的数据文件的路径在 /data/mysql 这里
mkdir /etc/mysql/(在etc下创建mysql文件夹)

     cp support-files/my-huge.cnf /etc/mysql/my.cnf(将配置文件格式拷贝到/etc/mysql/my.cnf下)

     vim /etc/mysql/my.cnf (更改配置,在配置28行加入 datadir=/data/mysql   指定 数据库默认路径为/data/mysql)

第八步:最后就差一个服务的脚本,此脚本也在解压缩的mysql/support-files/下有一个mysql.server的脚本,将此脚本拷贝到指定的文件夹 /etc/init.d/mysqld 下即可

    cp support-files/mysql.server /etc/init.d/mysqld(将mysql.server拷贝到 /etc/init.d/mysqld)

      chkconfig --add mysqld(将mysql加入服务中)

     echo PATH= `/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh(将mysqlPATH路径写入配置文件永久生效)

      service mysqld start` (启动mysql服务)

第九步:由于刚配置好的mysql是任何匿名账户可以登录的是,所以我们需要最后对mysql做一次安全加固,设定口令以及删除匿名帐户登录选项!

        systemctl set-default multi-user.target`(第一步设置mysql口令,然后一直 y 就行了)   

猜你喜欢

转载自blog.51cto.com/14234525/2385590