• linux安装mysql8(避坑)


    1、从mysql官网下载mysql的tar包 ,下载地址:

    https://dev.mysql.com/downloads/mysql/

    根据自己的操作系统选择不同版本,比如我的linux是Red hat,而且centos版本是7  就选对应的,

    linux查看系统版本

    cat /proc/version
    --或者
    cat /etc/redhat-release

      

     2、通过 ssh secure file transfer 工具将本地下载的mysql tar包传输到/usr/local/mysql目录下

    如果/usr/local目录下没有mysql文件夹,在/usr/local下新建mysql 文件夹

    mkdir mysql
    

      3、进入/usr/local/mysql 解压

    tar -xzvf mysql-8.0.27-el7-x86_64.tar.gz
    

      解压后会生成mysql-8.0.27-el7-x86_64文件夹,重命名该文件夹

    mv mysql-8.0.27-el7-x86_64 mysql8.0
    

      进入/usr/local/mysql/mysql8.0 新建data文件夹,用于存放mysql数据

    mkdir data
    

      

    创建mysql用户和mysql用户组,执行

    groupadd mysql
    
    useradd -g mysql mysql
    

     例如:

    改变mysql目录权限

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

      注意每个人安装mysql的目录可能不一样,要把/usr/local/mysql/mysql8.0 路径替换成你自己的

     初始化数据库之前 查看/etc目录下是否有mysql的配置文件 my.cnf

    cat /etc/my.cnf
    

      这里的my.cnf等同于 windows文件夹里面的my.ini

    如果没有这个文件夹 则跳过下面的直接执行第4 部。 如果有my.cnf文件夹,检查basedir和datadir以及其他涉及mysql存放路径的,都要改成你现在的mysql路径,比如我的是/usr/local/mysql/mysql8.0, 那么datadir=/usr/lcoal/mysql/mysql8.0/data , basedir=/usr/local/mysql/mysql8.0 

    4、初始化

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

      查看mysql8.0目录下是否生成 mysql-error.log文件,mysql临时密码存放在这里面

    这时候使用 mysql -uroot -p 登录mysql会提示 command not found

    因为系统默认会查找/usr/bin下命令,需要将mysql命令映射到/usr/bin下

    cd  /usr/local/bin
    ln -fs /usr/local/mysql/mysql8.0/bin/mysql mysql
    

      把/usr/local/mysql/mysql8.0 换成你自己的mysql目录

    这样就可以执行 mysql -uroot -p 登录mysql 

    密码输入刚才获得的临时密码

    修改密码:

    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
    --刷新密码
    flush privileges;

      

    要是想在其他服务器远程登录该mysql

    还需要修改root访问权限

    grant all privileges on *.* to 'root' @'%' identified by 'root';
    --或者
    update user set host ='%' where user ='root' and host ='localhost'; flush privileges;

     

    忘记密码 需要修改/etc/my.cnf, 在[mysqld]下添加一行

    skip-grant-tables
    

      登录后修改密码

    update user set authentication_string='' where user='root';
    

      然后退出,重启mysql 

    service stop mysqld
    --无法使用上面这行命令Stop mysql的时候,使用kill -9 来杀死mysqld进程
    ps -ef |grep mysqld
    kill -9 pid(进程号) --启动 sh ./support-files/mysql.server start 

    不知道重启的时候 

    systemctl restart mysqld命令为什么不能用

    然后可以无密码登录

    --登录后修改密码

    ALTER USER ‘root'@‘localhost' IDENTIFIED WITH mysql_native_password BY ‘111111';
    flush privileges
    

      

  • 相关阅读:
    FlaskRESTful之响应处理
    FlaskRESTful之请求处理(RequestParser)
    FlaskRESTful之入门
    Flask框架之异常处理和请求钩子
    Flask框架之Cookie和Session
    Flask框架之请求和响应
    Flask框架的路由和蓝图
    初识Flask框架
    DRF框架之问题总结
    字符串和date数据进行转换和Date类型进行计算
  • 原文地址:https://www.cnblogs.com/vary-/p/15459943.html
Copyright © 2020-2023  润新知