zoukankan      html  css  js  c++  java
  • linux环境下 安装mysql8.0

    ***********来源访问 https://www.cnblogs.com/yunian139/p/11804965.html*************

    1.下载tar包:

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

    应该会自动下载到 /usr/local/src 下,将文件移动到 /usr/local/mysql下解压
    mv /usr/local/src/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz /usr/local/mysql/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz

    进入mysql目录:cd /usr/local/mysql;

    解压;tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz  得到mysql-8.0.11-linux-glibc2.12-x86_64

    重命名; mv mysql-8.0.11-linux-glibc2.12-x86_64 mysql8.0;

    # 创建文件夹data,存储文件;
    cd /usr/local/mysql-8.0/
    mkdir ./data

    2.2 创建用户及用户组

    # 用户组
    groupadd mysql
    # 用户 (用户名/密码)
    useradd -g mysql mysql

    2.3 授权

    chown -R mysql.mysql /usr/local/mysql8.0/ # 亲测

    chown -R mysql
    chgrp -R mysql

    # 查看当前所在目录
    pwd   # 若显示/usr/local/mysql/mysql8.0,请继续执行,否则请先进入此目录/usr/local/mysql/mysql8.0

    在安装完成之后,初始化数据库之前,修改 my.cnf
      1. 打开mysql配置文件
        vim /etc/my.cnf
      2. 在尾部追加一行
        lower_case_table_names=1
        并保存,然后再初始化数据库。

    这个是不区分大小写用的,如果导完数据后发现需要重新安装,太坑。

    # 初始化 注意查看是否存在相关目录,若不存在,请新建
    ./bin/mysqld --user=mysql --basedir=/usr/local/mysql/mysql8.0/ --datadir=/usr/local/mysql/mysql8.0/data/ --initialize ; # 亲测

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

    得到临时密码


    vi /etc/my.cnf

    i          进入编辑

    ESC 退出

    shift+;   wq 保存退出

    2.6 建立MySQL服务(注意当前路径应该在mysql8.0,即support-files的根目录)

    # 添加Mysql到系统服务
    cp -a ./support-files/mysql.server /etc/init.d/mysql # 若mysqld,以下mysql相应的修改mysqld,如下图所示


    chmod +x /etc/init.d/mysql
    chkconfig --add mysql
    # 检查服务是否生效
    chkconfig --list mysql

    3、启动Mysql服务
    # 启动

    service mysql start;

    # 查看启动状态

    service mysql status;

    ln -s /usr/local/mysql/mysql8.0/bin/mysql /usr/bin

    # 登陆

    mysql -uroot -p

    # 输入"初始化数据库"操作时的"临时密码"

    修改密码:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

    # MySQL 配置文件,

    # 数据库目录 /data/mysql
    [client]
    port=3306
    # mysql socket 文件存放地址
    socket=/tmp/mysql.sock
    # 默认字符集
    default-character-set=utf8

    [mysqld]
    server-id=1
    # 端口
    port=3306
    # 运行用户
    user=mysql
    # 最大连接
    max_connections=200
    socket=/tmp/mysql.sock
    # mysql 安装目录(解压后文件的目录)
    basedir=/usr/local/mysql
    # 数据目录(这里放在我们新建的 /data/mysql 下)
    datadir=/data/mysql
    pid-file=/data/mysql/mysql.pid
    init-connect='SET NAMES utf8'
    character-set-server=utf8
    # 数据库引擎
    default-storage-engine=INNODB
    log_error=/data/mysql/mysql-error.log
    slow_query_log_file=/data/mysql/mysql-slow.log

    # 跳过验证密码
    #skip-grant-tables

    [mysqldump]
    quick
    max_allowed_packet=16M
    EOF

    可能会有好几个地方有 mysql 的配置文件,它的读取顺序是这样的

    /etc/my.cnf
    basedir/my.cnf
    datadir/my.cnf
    –defaults-extra-file #在读取全局配置文件之后,读取用户配置文件 (~/.my.cnf)之前,读取extra指定的参数文件
    ~/.my.cnf
    所以我们在 /etc 下的配置文件 my.cnf 是第一个读取的文件,读到这个文件后就不会在读后面路劲中的配置文件。

    4、远程连接

    1.在 my.cnf 的mysqld 下增加

    default_authentication_plugin=mysql_native_password
    远程连接操作不应该修改mysql中user表中用户为root的记录,而是创建一条root记录

    4.1授权 root 用户的所有权限并设置远程访问

    CREATE USER 'root'@'%' IDENTIFIED BY '111111';

    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '111111';(修改加密规则并更新密码)
    设置为远程登录

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;(操作报语法错误)----不用这个
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION ;(这个命令ok)--用这个

    GRANT ALL ON 表示所有权限,% 表示通配所有 host,可以访问远程。

    5.刷新权限

    所有操作后,应执行

    flush privileges;

    关键的三个命令:
    > mysql>CREATE USER 'root'@'%' IDENTIFIED BY 'root'; //这个操作是mysql 8.0中得加的
    > mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; //任何远程主机都可以访问数据库
    > mysql> FLUSH PRIVILEGES; //需要输入次命令使修改生效
    2.进入mysql安装目录bin/ 使用safe模式(跳过密码登录),进行重启:

    ./mysqld_safe --skip-grant-tables


    8.修改加密规则 永远不过期

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
    8.0版本
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

    password 为你当前密码。

    9.更新 root 用户密码

    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
    password 为你新设置的密码。


    10.刷新权限

    FLUSH PRIVILEGES;

    二.windows版本
    根据自己安装版本网上参考
    (windows版本都是图片的)

    https://www.cnblogs.com/alan-lin/p/9966917.html 参照

  • 相关阅读:
    暑假练习:游戏
    Floyd算法 笔记 C/C++
    Bellman-Ford 与 SPFA 算法笔记
    Dijkstra算法 C++
    C/C++ 并查集及其优化笔记整理
    C/C++ 哈夫曼树与哈夫曼编码
    判断是否为同一颗搜索树 C/C++
    C/C++ 平衡二叉树笔记(AVL树)
    VB中 “实时错误“3704”,对象关闭时,不允许操作”
    SQL Server 2014 配置全过程
  • 原文地址:https://www.cnblogs.com/zwbsoft/p/13261484.html
Copyright © 2011-2022 走看看