• Centos7安装配置MySQL5.7


    一:安装前准备:

      1.1检查linux版本:cat /etc/system-release

        CentOS Linux release 7.6.1810 (Core) 

      1.2查看系统是否安装MySQL:

        rpm -qa | grep mysql

        如果有安装则删除:

        rpm -e --nodeps softfullname

      1.3删除mariadb:

        rpm -qa | grep mariadb

        rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64

        报错:

        错误:依赖检测失败:
        libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-7.el7.x86_64 需要
        libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-7.el7.x86_64 需要

        不检测依赖强制删除:

        rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

      1.4关闭selinux:

        getenforce

          如果输出为:Enforcing

        则需要关闭:

        临时关闭selinux:

          setenforce 0

        永久关闭selinux:

          vim /etc/selinux/config

          SELINUX=disabled

        reboot后生效

      1.5检查是否安装libaio:

        rpm -qa | grep libaio

        yum search libaio

        yum -y install libaio

    二:官网下载:

      2.1下载安装包:

        https://dev.mysql.com/downloads/mysql/5.7.html#downloads

        选择版本

        Linux - Generic

        Linux - Generic (glibc2.5)(x86,64-bit)

        Compressed TAR Archive

      2.2上传文件到centos7

        解压文件:

          tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

        移动文件到路径:

          mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql

          建议用此命令移动:

          mv mysql-5.7.22-linux-glibc2.12-x86_64 mysql

          cp -r mysql /usr/local/

    三:安装mysql

      3.1建立组和用户:

        groupadd mysql

        useradd -r -g mysql mysql

       给mysql数据库创建专有用户,该用户只能访问mysql目录,不能访问系统其它目录

        另外不建议直接用root初始化mysql,否则连接mysql时会报错:[ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

      3.2创建data:

        cd /usr/local/mysql/

        mkdir data

        cd /usr/local/

        chown -R mysql:mysql mysql/

      3.3初始化mysql:

        cd /usr/local/mysql/bin/

        ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US

        2019-01-15T01:21:28.631674Z 1 [Note] A temporary password is generated for root@localhost: uMQO;syZJ9q=

        ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

        2019-01-15T05:31:44.610567Z 1 [Note] A temporary password is generated for root@localhost: SXrGkn=;e1-d

        记住临时密码

        如果忘记密码或者想重新初始化,可以先将mysql/data目录中文件删除,然后再执行初始化命令

      3.4修改配置文件:

        vim /etc/my.cnf

    [mysql]
    # 设置mysql客户端默认字符集 
    default-character-set=utf8
    socket=/var/lib/mysql/mysql.sock
    [mysqld]
    #skip-name-resolve 
    #设置3306端口 
    port = 3306
    socket=/var/lib/mysql/mysql.sock
    # 设置mysql的安装目录 
    basedir=/usr/local/mysql
    # 设置mysql数据库的数据的存放目录 
    datadir=/usr/local/mysql/data
    # 允许最大连接数 
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集 
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎 
    default-storage-engine=INNODB
    #lower_case_table_name=1 
    max_allowed_packet=16M
    

    四:配置mysql:

      4.1设置开机启动:

        复制脚本到资源目录:          cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

        增加 mysqld 服务控制脚本执行权限: chmod +x /etc/rc.d/init.d/mysqld

        将 mysqld 服务加入到系统服务:   chkconfig --add mysqld

        检查mysqld服务是否已经生效:     chkconfig --list mysqld

          命令输出类似下面的结果:

          mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off 

          表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用 service 命令控制 mysql 的启动和停止。

        查看启动项:chkconfig --list | grep -i mysql

        删除启动项:chkconfig --del mysql

        启动 mysqld:service mysqld start

      报错处理:

        如报错:mysqld[3559]: /etc/rc.d/init.d/mysqld:行239: my_print_defaults: 未找到命令

          拷贝文件到 /usr/bin

          cp /usr/local/mysql/bin/my_print_defaults /usr/bin

        如报错:mysqld[3683]: /etc/rc.d/init.d/mysqld: 第 259 行:cd: /user/local/mysql: 没有那个文件或目录

            mysqld[3683]: Starting MySQL ERROR! Couldn't find MySQL server (/user/local/mysql/bin/mysqld_safe)

          vim /etc/rc.d/init.d/mysqld

            basedir=/usr/local/mysql

            datadir=/data/mysql

            mysqld_pid_file_path=/data/mysql

     

      4.2添加环境变量:

        vim /etc/profile

        添加:

        export PATH=$PATH:/usr/local/mysql/bin
        export PATH

        执行,使其生效:

        source /etc/profile

        查看是否生效:

        echo $PATH

       或者添加软连接  ln -s /usr/local/mysql/bin/mysql /usr/bin

    五:登陆MySQL:

      mysql -uroot -p

      修改密码:

      SET PASSWORD = PASSWORD("xxxx");

    如登陆报错:
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
    建立软连接:
    ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
    删除软连接
    rm -rf mysql.sock
    不可写成,会删除链接文件
    rm -rf mysql.sock/

    六:添加防火墙策略:

    感谢:

    https://blog.csdn.net/vipbupafeng/article/details/80271089

    https://www.cnblogs.com/zero-gg/p/8875598.html

    https://blog.csdn.net/z13615480737/article/details/80019881

  • 相关阅读:
    Android捕捉错误try catch 的简单使用
    ubuntu下安装lua和tolua++
    mosh安装与使用
    三,温习redis持久化解析与配置
    二,温习redis(工具命令使用)
    一,温习Redis (详解从安装到配置)
    报错!-> CPU100%-但是找不到使用cpu的进程
    linux安全---防火墙(iptables)理论解析
    Mysql8.0版二进制安装(my.cnf文件灵活编写)
    ansible实现template管理nginx
  • 原文地址:https://www.cnblogs.com/jackyzm/p/10270112.html
Copyright © 2020-2023  润新知