美文网首页软件测试SQL初级每日一篇技术文
Mac安装Mysql 8.0.13、修改root密码、Navic

Mac安装Mysql 8.0.13、修改root密码、Navic

作者: 涅槃Ls | 来源:发表于2019-04-22 15:43 被阅读91次

    先diss下自己,其实mac利用brew安装mysql还是比较简单的。

    但是这次安装,只要遇到问题我就网上搜,搜索结果一大堆解决方法,本来问题比较明朗,但是搜的多了,就会出现其他连锁反应。

    【朋友超哥曾经说过:“走的太远 容易忘记回去的方向,写的太多 容易忘记原有的逻辑......”】

    自己没有冷静的思考问题,盲目的去按照别人的建议去操作,最后乱七八糟的,也许也是自己技术能力不过关的原因之一吧。

    所以在自己踩过太多坑的基础上,写下此文mac利用brew安装mysql 8.0.13的过程。

    一、官网下载Mysql 8.0.13

    下载地址:https://dev.mysql.com/downloads/mysql/

    进入此网站,会自动匹配到你的操作系统,可直接下载.dmg文件。

    二、利用brew安装mysql:

    Homebrew是macOS缺失的软件包管理器,使 macOS更完整,譬如可以安装Apple Store没有预装,但你需要的东西。

    更多详情请查看Homebrew官网:https://brew.sh/index_zh-cn.html

    一定要安装Homebrew成功。

    安装Mysql前,需要先把之前的文件清理干净(如果第一次安装,此步骤可忽略)

    执行下列命令

    • sudo rm /usr/local/mysql
    • sudo rm -rf /usr/local/mysql*
    • sudo rm -rf /Library/StartupItems/MySQLCOM
    • sudo rm -rf /Library/PreferencePanes/My*
    • rm -rf ~/Library/PreferencePanes/My*
    • sudo rm -rf /Library/Receipts/mysql*
    • sudo rm -rf /Library/Receipts/MySQL*
    • sudo rm -rf /var/db/receipts/com.mysql.*

    利用brew安装mysql,输入如下命令:
    brew install mysql

    brew install mysql.jpg

    三、常用的brew命令

    获取service列表

    brew services list

    重启mysql服务

    brew services restart mysql

    停止mysql服务

    brew services stop

    四、终端登录mysql

    刚才的截图中有提到,brew安装的mysql,root用户登录没有密码,不用输入密码,直接回车即可


    mysql -u root -p.jpg

    五、查询用户密码:

    查询用户密码命令:
    use mysql;
    select host,user,authentication_string from user;

    • host:允许用户登录的ip‘位置’%表示可以远程;
    • user:当前数据库的用户名;
    • authentication_string:用户密码【重点字段,后面有提到此字段】;


      执行sql语句.jpg

    六、设置(或修改)root用户密码

    默认root密码为空的话 ,下面使用navicat就无法连接,所以我们需要修改root的密码。
    “此处踩过N多坑,后来查阅很多才知道在mysql 5.7.9以后废弃了password字段和password()函数;而改为authentication_string字段表示用户密码。”

    下面直接放出目前修改root密码的步骤:

    一、如果当前root用户authentication_string字段下有内容,需要先将其设置为空。若已经是为空直接进行步骤二。
    use mysql;
    update user set authentication_string='' where user='root';

    二、使用ALTER修改root用户密码,如下:
    ALTER user 'root'@'localhost' IDENTIFIED BY '新密码';

    此处有两点需要注意:

    1. 不需要flush privileges来刷新权限。
    2. 密码要包含大写字母,小写字母,数字,特殊符号。


      image

    修改成功后; 退出重新使用用户名密码登录即可。

    注意: 一定不要采取 如下形式修改密码:

    use mysql;
    update user set authentication_string="新密码" where user="root";

    因为这样会给user表中root用户的authentication_string字段下设置了newpassword值;

    当再使用ALTER USER 'root'@'localhost' IDENTIFITED BY 'newpassword'时会报错的;

    因为authentication_string字段下只能是mysql加密后的41位字符串密码;其他的会报格式错误;

    *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE

    【此段摘自文章: https://www.cnblogs.com/kawask/p/9171966.html

    七、利用navicat连接本地数据库

    第一次连接时,明明账号密码都正确,连接还是报错提示。
    MySQL said: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2): image not found

    分析下:
    1、在MySQL 8.0.4版本之前,执行:SET PASSWORD=PASSWORD('[新密码]');
    2、但是MySQL 8.0.4开始,这样默认是不行的。
    3、因为之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。

    所以我们这里需要再修改一次root密码。
    先登录进入mysql环境:执行下面三个命令。(记得带上分号)
    use mysql;
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
    FLUSH PRIVILEGES;

    完美解决啊


    navicat成功连接.jpg

    相关文章

      网友评论

        本文标题:Mac安装Mysql 8.0.13、修改root密码、Navic

        本文链接:https://www.haomeiwen.com/subject/eynygqtx.html