相关推荐recommended
【MySQL】NavicatSQLyog连接Ubuntu中的数据库(MySQL)
作者:mmseoamin日期:2024-02-24

【MySQL】NavicatSQLyog连接Ubuntu中的数据库(MySQL),在这里插入图片描述,第1张


🏡浩泽学编程:个人主页

 🔥 推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》
              《RabbitMQ》《Spring》《SpringMVC》
🛸学无止境,不骄不躁,知行合一

文章目录

  • 前言
  • 一、安装
  • 二、原因
  • 三、解决
    • 创建新用户
    • 修改mysqld.cnf文件
    • 总结

      前言

      遇到一个Navicat/SQLyog连接Ubuntu中的数据库(MySQL)的报错:中文意思是不能在x.x.x.x(主机号)上连接mysql服务,这个报错号是10061。如果你遇到其他的可能也能用我的方法解决。


      一、安装

      简述安装,很简单。

      1.更新列表
      sudo apt-get update
      2.安装MySQL服务器
      sudo apt-get install mysql-server
      3.运行MySQL初始化安全脚本
      sudo mysql_secure_installation
      mysql_secure_installation脚本设置:修改root密码、移除MySQL的匿名用户、禁止root远程登录、删除test数据库和重新加载权限。除了询问是否要更改root密码时,看情况是否需要更改,其余的问题都可以按Y,然后回车键接受所有后续问题的默认值。使用上面的这些选项可以提高MySQL的安全。
      4.查看MySQL运行状态
      systemctl status mysql.service
      结果如下:
      mysql.service - MySQL Community Server
           Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
           Active: active (running) since Tue 2024-02-20 11:13:05 UTC; 10s ago
          Process: 65515 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
         Main PID: 65523 (mysqld)
           Status: "Server is operational"
            Tasks: 38 (limit: 4515)
           Memory: 365.8M
              CPU: 801ms
           CGroup: /system.slice/mysql.service
                   └─65523 /usr/sbin/mysqld
      Feb 20 11:13:04 dragonservice systemd[1]: Starting MySQL Community Server...
      Feb 20 11:13:05 dragonservice systemd[1]: Started MySQL Community Server.
      5.补充命令,无需运行
      启动MySQL数据库服务
      sudo service mysql start
      或
      sudo systemctl start mysql.service
      

      二、原因

      经过网上搜索和查阅,分析主要原因如下:

      • root用户不能连接,要创建一个用户
      • mysqld.cnf文件内的bind-address绑定地址是默认127.0.0.1

        三、解决

        创建新用户

        create user '用户名'@'%' identified by '密码'
        

        这里需要注意,密码无法设置成功,主要是现在mysql的密码有了规则,有三个强度:low,medium,strong。

        show variables like 'validate_password%';
        

        【MySQL】NavicatSQLyog连接Ubuntu中的数据库(MySQL),在这里插入图片描述,第2张

        policy是强度属性,length是密码长度,上图可以看到默认的密码规则,这里我为了方便我就改了一下这个密码规则,你也可以不修改,就直接设置长度不小于8位,且含有大小写英文和数字。

        设置密码规则:

        设置密码强度
        set global validate_password.policy=0;
        设置密码长度
        set global validate_password.length=4;
        这是我设置的密码
        CREATE USER '用户名'@'%' IDENTIFIED BY '123456';
        

        创建完新用户后注意要授权:

        grant all on *.* to '用户名'@'%';
        

        刷新一下权限:

        flush privileges
        

        登录测试一下是否成功创建:

         mysql -u 用户名 -p
         回车后输入密码,然后成功登入;尝试错误密码是否能登录,可以说明未设置成功。
        

        修改mysqld.cnf文件

        在/etc/mysql/mysql.conf.d文件夹下:

        进入编辑
        vim /etc/mysql/mysql.conf.d
        

        【MySQL】NavicatSQLyog连接Ubuntu中的数据库(MySQL),在这里插入图片描述,第3张

        光标移至mysqld.cnf回车就进入mysqld.cnf

        找到bind-address,修改为:

        bind-address = 0.0.0.0
        

        重启:

        sudo service mysql restart
        或
        sudo systemctl restart mysql.service
        

        最后连接:

        【MySQL】NavicatSQLyog连接Ubuntu中的数据库(MySQL),在这里插入图片描述,第4张

        用户名和密码就是创建的那个新用户,主机号是你虚拟机的,不知道的话就ip addr查询。

        【MySQL】NavicatSQLyog连接Ubuntu中的数据库(MySQL),在这里插入图片描述,第5张


        总结

        以上就是Navicat/SQLyog连接Ubuntu中的数据库(MySQL)报错的解决。