zoukankan      html  css  js  c++  java
  • inux centos7下源码 tar安装5.7.26详解

    inux centos7下源码 tar安装5.7.26图文详解

    官网地址 https://dev.mysql.com/downloads/mysql/

    1.卸载Linux系统上自带的mysql插件(old版本)

    1、先检查要安装的Linux服务器cglib版本号,命令

     strings /lib64/libc.so.6 | grep GLIBC

    查看其是否有相应cglib版本,如下:

     

    只有在系统列表中的cglib才可以安装,以免对不上还需要升级系统cglib

    2、查找mysql相关安装:

    rpm -qa|grep -i mysql

    可能会出现以下的一个或多个,没有更好,说明你的系统很干净,但是以防万一,不管怎样下面的操作还是检查一变

    perl-DBD-MySQL-4.013-3.el6.x86_64

    mysql-libs-5.1.71-1.el6.x86_64

    qt-mysql-4.6.2-26.el6_4.x86_64

    mysql-5.1.71-1.el6.x86_64

    mysql-server-5.1.71-1.el6.x86_64

    mysql-community-common-5.7.23-1.el7.x86_64

    如果出现了上面的一个或多个,也不用担心,使用卸载命令,有几个干掉几个!

    卸载命令:rpm –ev {包名},如:

    rpm -ev mysql-community-common-5.7.23-1.el7.x86_64

    查找老版本mysql相关的安装目录命令:

    find / -name mysql

    若查找到相关目录使用命令:rm –rf {目录名}

    最后使用命令:

    rpm -qa|grep -i mysql

    重新检查一遍系统中是否安装mysql。

    如果是centos7,那么默认会安装一个mysql的分支产品mariadb,必须先卸载此分支产品

     rpm -qa | grep mariadb

    拷贝找到的列表,一个个卸载,如

    rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64

    2.安装包处理

    新建software目录,切换到software目录,下载到该目录:

    mkdir /root/software
    
    cd /root/software

    mysql 安装包下载地址:

    mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

    命令下载,解压到当前目录:

    wget http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
    tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
    

      

    mysql主目录处理 

    在software目录下移动文件到/usr/local/mysql, 并创建data 目录

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

      

     cd /usr/local/mysql
    

      

    mkdir data

    主目录权限处理

    查看组和用户情况

    cat /etc/group | grep mysql
    
    cat /etc/passwd |grep mysql
    

     

    若存在,则删除原mysql用户:会删除其对应的组和用户。

    userdel -r mysql

    在查看就会发现没有,说明你已经删掉了

    创建mysql组和mysql用户

     groupadd mysql
    
    useradd -r -g mysql mysql
    
    chown -R mysql:mysql /usr/local/mysql
    

      

    创建配置文件及相关目录

    修改配置文件:/etc/my.cnf,配置不对的话,后面初始化不全,会拿不到默认密码。

    vim /etc/my.cnf

    修改内容:

    [mysqld]
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    port = 3306
    socket=/tmp/mysql.sock
    
    symbolic-links=0
    log-error=/var/log/mysqld.log
    pid-file=/tmp/mysqld/mysqld.pid
    sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    
    [mysqld]
    log-bin=mysql-bin 
    binlog-format=ROW 
    server_id=1 
    max_connections=1000
    
    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET NAMES utf8'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake  

    :wq! 保存退出。

    创建文件/tmp/mysql.sock:设置用户组及用户,授权

    cd /tmp
    
    touch mysql.sock
    
    chown mysql:mysql mysql.sock
    
    chmod 755 mysql.sock
    

      

    创建文件/tmp/mysqld/mysqld.pid:

    mkdir mysqld
    
    cd mysqld
    
    touch mysqld.pid
    
    cd ..
    
    chown -R mysql:mysql mysqld
    
    cd mysqld
    
    chmod 755 mysqld.pid
    

      

    创建文件/var/log/mysqld.log:

    touch /var/log/mysqld.log
    
    chown -R mysql:mysql /var/log
    
    cd /var/log
    
    chmod 755 mysqld.log
    

    安装和初始化数据库

    进入bin目录:

    cd /usr/local/mysql/bin/

    初始化数据库:

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

      

     

    若出现错误

    ./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
    

      

    解决方案:

     yum install -y libaio
    

      

    如果是内网不能上网的环境,那么就得手动安装 numactl-2.0.9-2.el6.x86_64.rpm 和 libaio-0.3.109-13.el7.x86_64.rpm 这两个rpm包

    rpm -ivh  numactl-2.0.9-2.el6.x86_64.rpm
    
    rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
    
    ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    

      

    安全启动:

    ./mysqld_safe --user=mysql &
    

      

    是否启动成功,可以通过查看mysql进程,

    ps -ef | grep mysql
    

      

    默认密码在mysqld.log日志里, 找到后保存到安全的地方:

    cat /var/log/mysqld.log
    

      

    其中root@localhost: 后面的就是默认密码,后面登录用.(如果找不到可能默认是空,登录时密码直接回车,否则可能安装有问题)

    进入bin目录:

    cd /usr/local/mysql/bin/
    

      

    登录mysql:

    ./mysql -u root -p
    

      

    拷贝或者输入mysqld.log中获得的默认密码,即可进入mysql命令客户端。

    但是,若输入相关命令,则会提示你修改用户密码(注意后面一定要加;)。

    show databases;
    

      

    假设密码修改为Fun?2019

    mysql> set password=password("Fun?2019");
    

      

    设置远程登录权限

    mysql>grant all privileges on *.* to 'root'@'%' identified by 'Fun?2019'; 
    

      

    立即生效,退出

    mysql> flush privileges;

     

    quit;
    

      

     

    退出命令quit ;或者 exit

    至此,mysql安装流程已结束,后续如果通过远程ip进行root用户授权,还需要到mysql库下的user表中把%对应的root用户所有权限改为Y,否则远程授权会失败

     

    开机服务启动设置:

    把support-files/mysql.server 拷贝为/etc/init.d/mysql:

    cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 

    查看是否拷贝成功

    查看mysql服务是否在服务配置中

    chkconfig --list mysql
    

      

    若没有,则把mysql注册为开机启动的服务,然后在进行查看

    chkconfig --add mysql
    
    chkconfig --list mysql
    

      

    启动 或 停止

    service mysql start
    
    service mysql stop
    

      

    创建快捷方式:

    服务启动后,直接运行mysql -u root -p即可登录,不需要进入到对应的目录。

    ln -s /usr/local/mysql/bin/mysql /usr/bin
    

      

    Centos7 防火墙打开端口号

    firewall-cmd --zone=public --add-port=3306/tcp --permanent

    参数说明

    • –zone #作用域
    • –add-port=80/tcp #添加端口,格式为:端口/通讯协议
    • –permanent #永久生效,没有此参数重启后失效

    #重启防火墙后看看是否生效

    firewall-cmd --reload #重启firewall
    
    firewall-cmd --list-ports #查看已经开放的端口
    

      

    #如果想永久停止防火墙,执行下面操作

    systemctl stop firewalld.service #停止firewall
    
    systemctl disable firewalld.service #禁止firewall开机启动
    

      

    #查看防火墙状态

    firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
    

      

  • 相关阅读:
    了解线程和进程
    常见的性能优化方法
    前端构建工具gulp入门教程
    在JS数组指定位置插入元素
    简单对象List自定义属性排序
    js数组排序 reverse()和sort()方法的使用
    JQuery Plugin 开发
    console.dir() 与 console.dirxml() 的使用
    随机生成10-100之间的数
    CSS3 transition过渡
  • 原文地址:https://www.cnblogs.com/saryli/p/11471512.html
Copyright © 2011-2022 走看看