美文网首页
(一)mysql 安装

(一)mysql 安装

作者: 后知不觉1 | 来源:发表于2020-07-16 20:21 被阅读0次

    .安装方式主要有是那种 编译后源码安装,rpm 安装,源码安装;主要介绍前两种

    1.编译后的源码安装(tar.gz)

    下载源可以自行选择,这里以华为云镜像源展示

      wget https://mirrors.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
    

    安装

    安装在/usr/local/mysql 下;这里格式有点问题,直接复制使用会报错去掉前面空格正常;

     cd /usr/local/   #进入安装目录
     tar -xvf   mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz   #解压
     ln -s mysql-5.7.28-linux-glibc2.12-x86_64 mysql   #
    
     #这里有一个坑,就是源文件夹权限也要修改为mysql:mysql 不然无法创建mysql.sock,error.log 授权一下mysql-5.7.28-linux-glibc2.12-x86_64就正常了
    chown -R mysql:mysql mysql-5.7.28-linux-glibc2.12-x86_64
      
     cp /usr/local/mysql/support-files/mysql.server   /etc/init.d/mysqld  #添加mysqld服务
     chmod +x /etc/init.d/mysqld  #添加可执行权限
     chkconfig --add /etc/init.d/mysqld  #设置开机启动
     chkconfig --list  #检查开机启动设置是否成功
    

    mysql 配置文件修改/etc/my.conf

    [mysqld]
    datadir=/usr/local/mysql/data      #数据存放位置;
    socket=/usr/local/mysql/mysql.sock 
    basedir=/usr/local/mysql       #msyql的主目录,默认值/usr/local/mysql,可省略,如果安装目录不是在该位置,不可省略
    
    [client]
    socket=/usr/local/mysql/mysql.sock   #client 不配的话会默认读/tmp/mysql.sock,导致登录失败
    [mysqld_safe]
    log-error=/usr/local/mysql/data/mariadb.log   #启动失败日志存放位置
    pid-file=/usr/local/mysql/data/mariadb.pid    
    

    创建mysql 用户

     useradd mysql
     chown -R mysql:mysql /usr/local/mysql/*
    

    mysql 初始化

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

    启动

    systemctl start mysqld
    

    备注如果启动失败,看日志排查问题;一般都是配置目录有问题;

    配置环境变量在登录linux后会加载/etc/profile 文件,针对任意用户;
    配置环境变量时只需要关注path 就行,多个用冒号分割;
    path 是告诉系统再加载命令时将对应的目录加载过来,这样在执行命令就知道去哪里找文件了;

        export JAVA_HOME=/usr/local/java
        export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar   #classpath 是jdk用到的,告诉基本的jar 去哪里找;
        export MYSQL_HOME=/usr/local/mysql
        export PATH=$JAVA_HOME/bin:$MYSQL_HOME/bin:$PATH
    

    忘记密码

    属性添加 skip-grant-tables 重启mysqld

     update user set authentication_string = password ( 'new-password' ) where user = 'root' ; 
    

    重启mysqld

    登录mysql执行 ALTER USER USER() IDENTIFIED BY "new password"

    常见问题

    这是缺少包

      /usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
      这是缺少包
       yum install -y libaio
    

    进程已经存在

      Starting MySQL... ERROR! The server quit without updating PID file (/home/mysql/data/localhost.pid)
    
      手动kill 一下就好
    

    附:
    mkdir -p /tmp/mysqld
    cd /tmp
    touch mysql.sock
    chown -R mysql:mysql mysql.sock
    chmod 755 mysql.sock

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

    cd /var/log
    touch mysqld.log
    chmod 755 mysqld.log

    相关文章

      网友评论

          本文标题:(一)mysql 安装

          本文链接:https://www.haomeiwen.com/subject/tejphktx.html