mac-使用mysql8时遇到的问题

安装了mysql8以后才知道这个版本与之前版本在密码加密等方式上的不一样,导致安装和使用过程中出现了一些问题,现记录如下。

安装平台:Mac
mysql版本:mysql-8.0.12

一、基础使用
1、命令:mysql -u root -p登录mysql
2、在系统偏好设置处开启和关闭mql服务
3、查看mysql数据库的进项

  $ ps -e|grep mysql
  $ kill -9 +pid号

二、遇到的问题
1、安装好数据库后,使用Navicat连接数据库时提示如下:

问题描述:
  提示【Client does not support authentication protocol requested by server; consider upgrading MySQL client】
问题原因:
    MySQL8换了加密插件,数据库管理客户端都来不及更新,连接方式缺乏sha2的加密方式
解决方法:执行以下sql
    步骤一:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
    步骤二FLUSH PRIVILEGES;

2、数据库连接不上:ERROR 1045

问题描述:
    连接数据库,输入密码后提示:ERROR 1045: Access denied for user: ‘root@localhost’相关报错 
问题原因:
解决方法:
    1、打开系统偏好设置,如果你的电脑已经安装mysql,会在下面有一个mysql的按钮。点进去关闭mysql服务。
    2 打开一个终端,输入一下命令
        $ cd /usr/local/mysql/bin
        $ sudo su 
    3、看到终端命令变成这个开头: sh-3.2# 
    输入以下命令,之后就可以以安全模式进入数据库了。
        sh-3.2#./mysqld_safe --skip-grant-tables &
    4、现在打开一个新的终端 
    输入以下命令,不需要密码就进入数据库:
        mysql -u -root
    5、修改数据库密码
        mysql> use mysql;
        mysql> update user set authentication_string="" where user="root"; 
        mysql> flush privileges;#这个刷新非常有必要;不让后面执行alter就会出错
        mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Root@1234';
    6、退出mysql,输入以下命令退出安全模式:
        /usr/local/mysql/share/mysql.server start
    7、验证密码修改成功
        $mysql -u root -p
        输入修改后的密码,即可进入mysql。
    
    #查到资料说密码需要由大写字母+小写字母+数字+特殊符号组成,这个我没有专门试验过,有兴趣的下伙伴可以试一下
    
    在修改密码的时候,在网上找了一些修改密码的方式,但是有些方式不适用与我的mysql版本,
      如:
      UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass')
      WHERE User = 'root' AND Host = 'localhost';
      FLUSH PRIVILEGES;

3、MySQL远程连接失败(错误码:2003)

    问题描述:
        2003, "Can't connect to MySQL server on '***'
    问题原因:
        mysql数据库服务没启动

你可能感兴趣的:(mac-使用mysql8时遇到的问题)