• Linux 下安装 MySQL8 教程


    Linux下安装MySQL8

    一、删除已存在的MySQL

    参考教程:https://www.cnblogs.com/Can-daydayup/p/10873948.html

    二、下载安装

    官网:https://dev.mysql.com/downloads/repo/yum/

    选择red hat版:

    复制下载地址:

    1.下载镜像
     
    wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
     
    2.安装镜像
     
    rpm -ivh mysql80-community-release-el7-3.noarch.rpm
     
    3.升级系统上的MySQL软件包
    通过以下命令升级MySQL及其相关组件:
     
    yum update mysql-server
     
     
    4.安装MySQL服务
     
    yum install mysql-server
    

    如果执行失败,可能是权限不足,可以在命令之前加 sudo ,以管理员权限执行。

    三、设置MySQL文件权限

    chmod -R 777 /var/lib/mysql
    

    四、初始化MySQL

    mysqld --initialize
    

    五、MySQL启动

    #启动
    service mysqld start;
    #重启
    service mysqld restart;
    #查看状态
    service mysqld status;
    

    查看当前MySQL安装版本

    mysqladmin --version
    

    登录MySQL

    mysql -u root -p
    

    修改密码

    #比如说,旧密码是“12345”,新密码是“qwer”,执行以下命令:
    方法一:不需要进入mysql命令界面,执行如下命令
    $mysqladmin -u root -p'12345' password 'qwer';
    
    方法二:进入mysql命令界面,执行如下命令
    mysql> alter user 'root'@'localhost' identified by 'qwer';
    

    首次安装的MySQL会自己生成一个随机的密码,可通过 /var/log/mysqld.log 文件查看

    cat /var/log/mysqld.log
    

    修改密码后需要刷新权限

    flush privileges;
    

    密码一般在 mysqld.log 文件的前几行

    退出MySQL

    exit;
    #或者
    quit;
    

    六、开启远程连接MySQL

    1.需要在在登录MySQL之后,创建一个用户用来远程连接

    # 其中 username 表示用户名
    # % 表示表示所有的电脑都可以连接,也可以设置某个ip地址运行连接
    # password 表示密码
    GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
    
    
    #如果是新版MySQL,创建用户和权限分配是分开的
    创建账户:create user ‘用户名’@’访问主机’ identified by ‘密码’;
    
    赋予权限:grant 权限列表 on 数据库 to ‘用户名’@’访问主机’ ;(修改权限时在后面加with grant option)
    

    例如:

    mysql> create user 'root'@'%' identified by 'root';
    Query OK, 0 rows affected (0.02 sec)
    
    mysql> grant ALL PRIVILEGES ON *.* to 'root'@'%';
    Query OK, 0 rows affected (0.01 sec)
    
    

    2.执行 flush privileges; 命令立即生效

    3.查询数据库的用户(看到如下内容表示创建新用户成功了)

    SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
    

    4.开放端口号

    firewall-cmd --zone=public --add-port=3306/tcp --permanent   # 开放3306端口
    
    firewall-cmd --zone=public --remove-port=3306/tcp --permanent  #关闭3306端口
    
    firewall-cmd --reload   # 配置立即生效
    

    大功告成

    七、可能的报错

    在连接的时候可能会报错:Authentication plugin 'caching_sha2_password' cannot be loaded.....

    是因为 Navicat 不支持MySQL最新的加密方式

    解决办法:

    登录MySQL之后,修改账户密码加密规则并更新用户密码:

    #修改加密规则
    # 其中 username 表示用户名
    # % 表示表示所有的电脑都可以连接,也可以设置某个ip地址运行连接
    # password 表示密码
    
    mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
    #更新一下用户的密码 
    mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
    #刷新权限 
    mysql> FLUSH PRIVILEGES;   
    

    再次打开 Navicat 连接MySQL问题数据库就会发现可以连接成功了

  • 相关阅读:
    :nth-child :nth-type-of用法详解
    hosts修改备份
    微信小程序 报警告的解决办法
    微信小程序 body属性的问题
    关于微信小程序post请求数据的坑
    在做展开功能的时候,字体变多了,字体会变大的bug的解决方案
    关于微信小程序并发数不能超过五个的问题
    单行文本省略号与多行文本省略号的实现
    js数据类型判断
    表格td标签在不添加多余标签的情况下实现文本内容单行显示,多余部分省略号表示的方法
  • 原文地址:https://www.cnblogs.com/luler/p/14754407.html
Copyright © 2020-2023  润新知