zoukankan      html  css  js  c++  java
  • 记centos 安装 mysql5.7.23.tar.gz教程

    1、下载tar包,这里使用wget从官网下载

    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

    2、将mysql安装到/usr/local/mysql下

    # 解压

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

    # 移动

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

    # 重命名

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

    3、新建data目录

    mkdir /usr/local/mysql/data

    4、新建mysql用户、mysql用户组

    # mysql用户组

    groupadd mysql

    # mysql用户

    useradd mysql -g mysql

    5、将/usr/local/mysql的所有者及所属组改为mysql

    chown -R mysql.mysql /usr/local/mysql

    6,初始化

    cd /usr/local/mysql

    [root@dbserver mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

    初始化后会生成一串临时密码,作为首次登陆密码

    # 如果出现以下错误:

    /usr/local/mysql/bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

    # 则执行以下命令:

    yum -y install numactl

    # 完成后继续安装:

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

    7、配置my.cnf

    接下来进入/usr/local/mysql/support-files/目录下 
    查看是否存在my-default.cnf文件,如果存在直接copy到/etc/my.cnf文件中

        [root@dbserver mysql]# cp -a ./support-files/my-default.cnf /etc/my.cnf
    • 1

    如果不存在my-default.cnf文件,则在/etc/目录下创建my.cnf,并写入以下内容,例如我的是这样的:

    [mysqld]

    character_set_server=utf8

    init_connect='SET NAMES utf8'

    basedir=/usr/local/mysql

    datadir=/usr/local/mysql/data

    socket=/usr/local/mysql/mysql.sock #找到sock文件的实际位置

    log-error=/var/log/mysqld.log  

    pid-file=/usr/local/mysql/data/mysql.pid   #  找到pid的实际位置

    <3>获取初始登录密码

    这个的初始登录密码将不会在执行第二步之后被输出到命令行中,而是会被存放在错误日志中。错误日志路径就是你在my.cnf中配置的 log-error=/var/log/mysqld.log

    执行:

    cat /var/log/mysqld.log

    能够看到一行信息,例如我的是:

    2017-11-29T01:55:23.192210Z 1 [Note] A temporary password is generated for root@localhost: Q5Sck93kdK/*

    localhost: 后面的一串就是你mysql登录的初始密码。

    ⚠️如果你的初始密码丢失,可以备份data数据:mv /usr/local/mysql/data data.bak 或者直接删除data数据:rm -rf /usr/local/mysql/data 然后初始化数据库:

    [root@dbserver mysql]# bin/mysqld --initialize --user=mysql 重新生成初始密码然后查看并记住。此处还有其他的方法,大家可以尝试一下,参考:http://blog.csdn.net/ljbmxsm/article/details/50612777 

    8、把mysql放到本地系统服务中

    命令: cp -a ./support-files/mysql.server /etc/init.d/mysqld

    如果mysql 安装目录不在、usr/local/mysql下需要修改mysql的配置文件 如:本人的安装目录是在/software/mysql下则配置如下

    修改Mysql配置文件

    #vim /usr/local/mysql/support-files/mysql.server
    修改前

    if test -z "$basedir"
    then
    basedir=/usr/local/mysql
    bindir=/usr/local/mysql/bin
    if test -z "$datadir"
    then
    datadir=/usr/local/mysql/data
    fi
    sbindir=/usr/local/mysql/bin
    libexecdir=/usr/local/mysql/bin
    else
    bindir="$basedir/bin"
    if test -z "$datadir"
    then
    datadir="$basedir/data"
    fi
    sbindir="$basedir/sbin"
    libexecdir="$basedir/libexec"
    fi

    修改后

    if test -z "$basedir"
    then
    basedir=/software/mysql
    bindir=/software/mysql/bin
    if test -z "$datadir"
    then
    datadir=/data/mysql
    fi
    sbindir=/software/mysql/bin
    libexecdir=/software/mysql/bin
    else
    bindir="$basedir/bin"
    if test -z "$datadir"
    then
    datadir="$basedir/data"
    fi
    sbindir="$basedir/sbin"
    libexecdir="$basedir/libexec"
    fi

    保存退出

    #cp /software/mysql/support-files/mysql.server  /etc/init.d/mysqld
    #chmod 755 /etc/init.d/mysqld

    9、启动mysql

    #/etc/init.d/mysqld start

    ERROR! The server quit without updating PID file (/software/mysql/mysqld.pid).

    因为新版本的mysql安全启动安装包只认/usr/local/mysql这个路径。

    解决办法:

    方法1、建立软连接

    例 #cd /usr/local/mysql

    #ln -s /sofware/mysql/bin/myslqd mysqld

     

    方法2、修改mysqld_safe文件(有强迫症的同学建议这种,我用的这种)

    # vim /software/mysql/bin/mysqld_safe

    将所有的/usr/local/mysql改为/software/mysql

    保存退出。(可以将这个文件拷出来再修改然后替换)

      错误代码:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '

    mysql.sock根本就不在 /var/lib/mysql 目录下。自己的目录在 /tmp/mysql.sock

    于是做了一个连接。

    ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

    10、启动并登陆mysql

    启动mysql

    # 、/etc/init.d/mysqld  start

    登陆

    mysql -u root -p 

    会提示输入登陆密码,输入初始化时候的临时密码就可以了

    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    解决方法

    修改vi /etc/my.cnf,增加skip-grant-tables可以免密码登录mysql

    use mysql ;

    update user set authentication_string=PASSWORD("123456") where user='root';

    再次修改vi /etc/my.cnf,注释skip-grant-tables,重启mysql

    mysql -uroot -p123456登录

    注:mysql5.7后将password字段调整为authentication_string

  • 相关阅读:
    scipy.spatial.distance.cdist
    关于hstack和Svstack
    numpy.hstack(tup)
    numpy.random.uniform(记住文档网址)
    Python集合(set)类型的操作
    python+Eclipse+pydev环境搭建
    python数据挖掘领域工具包
    LVS 命令使用
    CMD mysql 备份脚本
    Windos Server Tomcat 双开配置
  • 原文地址:https://www.cnblogs.com/siashan/p/9667742.html
Copyright © 2011-2022 走看看