Mysql 8.0.20 安装实记 & 5.7.26 踩坑指南


8.0.20下载地址

我这边下载的是,mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 这个文件。
然后接下来的安装步骤参考:地址
过程注意,mysql数据的挂载目录,我是挂载在/data/mysql下(需新建文件夹)
安装完成数据库管理工具连接不上:access denied for user root@localhost
最后的解决办法:地址

5.7.26 安装过程

因为公司服务器默认关闭访问外网,所以只能离线安装。
这边下载是的 mysql-5.7.26-linux-glibc2.12-x86_64.tar

    1. 解压压缩包 tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
    2. 移动到/usr/local/mysql 路径下 mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
    3. 添加组和权限 groupadd mysql useradd -r -g mysql mysql
    4. 创建数据存储的文件夹 mkdir -p /data/mysql
    5. 赋予权限 chown mysql:mysql -R /data/mysql
    6. 创建my.cnf文件 vi /etc/my.cnf
    7. 初始化
    1. /usr/local/mysql/bin/

    ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
    初始化输出最右边有一个临时密码,需要记下,等下需要登录。
    8.把 mysql.server 复制到 init.d/mysql 下 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
    9.启动服务 service mysql start
    过程中报了一个错

    Failed to start mysql.service: Unit not found.

    差点被坑死,结果大神指路,顺利解决。

    mysql_install_db --datadir="/var/lib/mysql" --user="mysql"

    1. 启动服务 service mysql start
    2. 登录mysql cd /usr/local/mysql ./bin/mysql -u root -p
    3. 修改密码

    set password=password('SNxj$m6u#$63fzHI');

    grant all privileges on . to root@'%' identified by 'SNxj$m6u#$63fzHI';
    flush privileges;

    1. 远程权限修改

    use mysql;
    update user set user.Host='%' where user.User='root';

    select host from user where user = 'root';
    flush privileges;
    最后重启服务,即可。

    创建用户的时候一直提示: Access denied for user 'root'@'%' (using password: YES)

    1. 首先进入mysql
      ./bin/mysql -u root -p
    2. use mysql;
    3. select user,host,grant_priv from user; 发现root的grant_priv 是N,果断修改过来
    4. UPDATE user set Grant_priv='Y' where user='root' and Host='%'
    5. 记得刷新 flush privileges;

    Mysql 5.7开启binlog日志

    5.7版本,直接在配置文件中指定:

    [mysqld]
    log-bin=mysql-bin
    server-id=1
    binlog_format=ROW

    binlog文件的路径就是前面指定的文件路径 /data/mysql

    mysql-grant用户授权和bin-log日志

    1. grant all on . to bi@'%' identified by "123";
    2. grant replication slave on . to bi@'%';

    mysql 8.0 安装完后数据无法写入
    原来是开了只读模式,关闭即可
    set global read_only0;
    再看下:
    show global variables like "%read_only%"
    发现是 OFF 完美解决。;

    mysql 8.0 版本给用户创建账号后,连不上
    报错:Authentication plugin 'caching_sha2_password' cannot be loaded
    问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password.
    第二种做法:
    ALTER USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

    声明:Codererrr's Blog|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

    转载:转载请注明原文链接 - Mysql 8.0.20 安装实记 & 5.7.26 踩坑指南


    Coding Changes The World