CentOS7安装mysql

二进制和源码编译安装以及yum源安装

  1)下载二进制包

    打开官网http://mariadb.org/

    

     

    

    

    会自动出现下载链接,选好下载路径下载即可,再从windows转到linux系统上

  2)准备mysql用户

      *先检查是否从在mysql用户:getent passwd mysql

       *创建mysql用户和/data/mysql目录,同时修改目录的所有者和所属组:useradd -r -s /sbin/nologin -m -d /data/mysql mysql

      /data/mysql会自动产生一些垃圾文见删除即可:ls -a查看  rm -rf .*删除

      *解压缩文件:tar xfv mariadb-10.2.23-linux-x86_64.tar.gz -C /usr/local/

      *进入cd /usr/local目录,创建一个软连接名为mysql的:ln -s mariadb-10.2.25-linux-x86_64/  mysql 

      *ll mysql/查看所有者和所属组,进行修改:chown -R root:root mysql/(-R是递归,mysql是一个软连接+/)

      *创建数据库

      必须在这个情况,因为这个目录才有bin,他会去找bin

      输入scripts/mysql_install_db --datadir=/data/mysql --user=mysql(指向目录和用户)

        出现如图成功

        

      *准备配置文件

       先创建一个目录存放:mkdir /etc/mysql  复制配置文件改名:cp support-files/my-huge.cnf  /etc/mysql/my.cnf(pwd在:/usr/local/mysql)

      *修改配置文件vim /etc/mysql/my.cof

       

      *复制mysql启动脚本

       cp support-files/mysql.server  /etc/init.d/mysqld(pwd在:/usr/local/mysql)

         *添加mysqld到service服务中

        

      *启动mysqld服务,并查看端口

        

      *修改PATH路径并运行

        echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh修改

        . /etc/profile.d/mysql.sh运行

       *启动mysql客户端,

        

      *安全加固设置口令

        终端输入mysql_secure_installation

          

          

        登陆mysql客户端(mysql -uroot -p密码/mysql -uroot -p回车输入密码/mysql -p回车输入密码),三种登陆方式都可以

          

  2)源码安装

     *打开官网http://mariadb.org/ 

         

         

         

         

          会自动出现下载链接,选好下载路径下载即可,再从windows转到linux系统上

      *使用逻辑卷,创建一个逻辑卷

         

         

           

           

           

          

      *创建卷组

         

      *创建逻辑卷组

         

       *创建/data/mysql目录:mkdir /data/mysql

        *逻辑卷挂载文件系统,用blkid查看

          mkfs.xfs /dev/vg1/mysql

          

       *写入配置文件vim /etc/fstab

          

       *查看是否挂载成功

          

       *先检查是否从在mysql用户:getent passwd mysql

          *创建mysql用户和/data/mysql目录,同时修改目录的所有者和所属组:useradd -r -s /sbin/nologin  -d /data/mysql mysql

       *查看并改变/data/mysql的所有者和所属组的权限

          

      *yum安装yum install bison bison-devel zlib-devel libcurl-devel libarchivedevel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel -y

           *解压源码包tar xvf mariadb-10.2.25.tar.gz

      *配置进入cd mariadb-10.2.25/

           终端上输入:cmake .
          -DCMAKE_INSTALL_PREFIX=/app/mysql
          -DMYSQL_DATADIR=/data/mysql/
          -DSYSCONFDIR=/etc/
          -DMYSQL_USER=mysql
          -DWITH_INNOBASE_STORAGE_ENGINE=1
          -DWITH_ARCHIVE_STORAGE_ENGINE=1
          -DWITH_BLACKHOLE_STORAGE_ENGINE=1
          -DWITH_PARTITION_STORAGE_ENGINE=1
          -DWITHOUT_MROONGA_STORAGE_ENGINE=1
           -DWITH_DEBUG=0
          -DWITH_READLINE=1
          -DWITH_SSL=system
          -DWITH_ZLIB=system
          -DWITH_LIBWRAP=0
          -DENABLED_LOCAL_INFILE=1
          -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock
          -DDEFAULT_CHARSET=utf8
          -DDEFAULT_COLLATION=utf8_general_ci回车

       完成后执行下图此操作

       

        *设置环境变量vim /etc/profile.d/mariadb-10.2.23.sh

          

          

       *初始化数据库

          

      *准备配置文件

          

      *添加服务为开启启动

          

      *启动服务

          

      *yum安装mariadb

          

      *启动成功

          

      *安全加固设置口令

        终端输入mysql_secure_installation

          

          

        登陆mysql客户端(mysql -uroot -p密码/mysql -uroot -p回车输入密码/mysql -p回车输入密码),三种登陆方式都可以

          

  3)yum源安装

      *yum源安装yum install mariadb-server

         *启动服务查看

          

        *创建每个存放的目录:mkdir  /mysql/{3306,3307,3308}/{data,bin,log,socket,pid,etc} -pv

          

        *ps aux查看进程,现在要把路径改为我们创建的目录      

       *关闭系统再带的mysql

        systemctl stop mariadb

       *查看现存放的位置:ls /var/lib/mysql/,并用mysql_install_db制定目录

         mysql_install_db --datadir=/mysql/{3306/3307/3308}/data/ --user=mysql           

       *设置/mysql/的所有者和所属组

         chown -R mysql.mysql /mysql/

       *配置文件

        cp /etc/my.cnf  /mysql/3306/etc/   cp /etc/my.cnf /mysql/3307/etc/          cp /etc/my.cnf /mysql/3308/etc/              

         

        

        

      *进入目录cd /mysql/3306/bin/

        编写vim /mysqld              

            #!/bin/bash

            port=3306
            mysql_user="root"
            mysql_pwd="990805kuid"
            cmd_path="/usr/bin"
            mysql_basedir="/mysql"
            mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"

            function_start_mysql()
            {
                  if [ ! -e "$mysql_sock" ];then
                  printf "Starting MySQL... "
                    ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/my.cnf  &> /dev/null  &
              else
                  printf "MySQL is running... "
                  exit
              fi
            }


            function_stop_mysql()
            {
                  if [ ! -e "$mysql_sock" ];then
                    printf "MySQL is stopped... "
                    exit
              else
                   printf "Stoping MySQL... "
                   ${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown
              fi
            }


            function_restart_mysql()
            {
                  printf "Restarting MySQL... "
                  function_stop_mysql
                  sleep 2
                  function_start_mysql
            }

            case $1 in
            start)
                function_start_mysql
            ;;
            stop)
                function_stop_mysql
            ;;
            restart)
                function_restart_mysql
            ;;
            *)
                printf "Usage: ${mysql_basedir}/${port}/bin/mysqld {start|stop|restart} "
            esac

         chmod +x mysqld赋予权限,依次类推

        

      *启动服务

         /mysql/3306/bin/mysqld  start   /mysql/3307/bin/mysqld  start   /mysql/3308/bin/mysqld  start

          

      *链接数据库

          

       *设置密码,密码与上面写的脚本密码匹配

          mysqladmin  -S /mysql/3306/socket/mysql.sock  password 990805kuid

          mysqladmin  -S /mysql/3307/socket/mysql.sock  password 990805kuid

          mysqladmin  -S /mysql/3308/socket/mysql.sock  password 990805kuid

        登陆如下图

          

    

   

         

         

 

        

 

        

    

原文地址:https://www.cnblogs.com/dengkui/p/11130825.html