• Ubuntu22.04安装MySql


    在Ubuntu上安装mysql就比较简单了

    1、常规操作,更新软件包列表

    apt update

    至少安装之前看一眼版本吧

    apt list mysql-server

    嗯,是8.0.35版本的

    2、安装mysql

    apt install mysql-server

    3、给root用户设置密码

    1. # 第一次安装完无需密码,让你输入密码的时候按回车就行了
    2. sudo mysql -uroot
    3. # 进入mysql之后修改root的密码
    4. alter user 'root'@'localhost' identified with mysql_native_password by '你的密码';
    5. # 退出mysql
    6. exit

    可以看到,修改完之后再次登录,就需要输入密码了

    3、创建新用户登录

    如果你觉得使用root用户远程登录不安全,可以创建一个新的用户用于远程登录

    1. # 先使用root账号登录mysql,然后创建新用户user1
    2. CREATE USER 'user1'@'%' IDENTIFIED BY '新用户的密码';
    3. # 给user1授予所有ip都可以登录
    4. GRANT ALL PRIVILEGES ON *.* TO 'user1'@'%';
    5. # 刷新
    6. FLUSH PRIVILEGES;

    4、远程登录

    上来给我报了一个61的错误,应该是限制了ip的原因,登上mysql查了一下,之前已经给新添加的用于授予了所有host都可以登录的权限了呀

    只能去看mysql的配置了

    vi /etc/mysql/mysql.conf.d/mysqld.cnf
    

    果然,bind-address被限制成了本机,改成0.0.0.0就可以了 

    再次登录,还是报错,不过报错内容变了

    搜了一下,找到了原因

    问题原因mysql8版本之前的加密规则是mysql_native_password,在mysql8版本之后,加密规则更换成了caching_sha2_password。而我刚才创建新用户的时候并没有指定使用什么加密规则,默认就使用caching_sha2_password了,如果指定使用native的加密规则,就不会报这个错了

    解决办法

    1、把mysql用户登录密码加密规则还原成mysql_native_password

    2、升级自己的链接工具,我这个是mac上的SequelPro,不好升级,所以我选1

    先看一下现在用户密码的情况,果然新添加的用户用加密规则是caching_sha2_password

    修改起来也简单

    1. #修改加密规则
    2. ALTER USER 'user1'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
    3. #更新一下用户的密码
    4. ALTER USER 'user1'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
    5. #刷新权限
    6. FLUSH PRIVILEGES;

    修改成功,测试可以登录了 

     PS:如果以上步骤都操作了还是不行,估计是ECS服务器的安全组策略限制了3306端口的输入,配置一下规则就可以了

  • 相关阅读:
    Android与单片机 | 开发板 | 智能硬件 | 智能设备 | 数据协议 |开发总结
    c#从数据库读取数据到datagridview
    【MindSpore易点通】常用定位方法之按Cell粒度Dump
    C++ 结构体
    Docker 哲学 - 容器操作
    【从零到一】电子元器件网站建设/开发方案、流程及搭建要点全解
    IMX6ULL移植篇-Linux内核源码文件表
    dubbo.xsd的配置
    Skywalking APM监控系列(一丶.NET5.0+接入Skywalking监听)
    Vue学习之--------全局事件总线(2022/8/22)
  • 原文地址:https://blog.csdn.net/guo_zhen_qian/article/details/134289837