新安装的 MySQL 只有一个 root 用户,默认不开启远程连接。下面以 Ubuntu 系统下的 MySQL 为例,说明如何远程连接 MySQL 数据库。

  • 登录 root 用户 mysql -uroot -pyongdu
  • 查看 mysql 数据库中的所有表
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| hr                 |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)
  • 切换到 mysql 数据库
  • 查看有哪些表
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
24 rows in set (0.00 sec)
  • 查看root用户的配置
mysql> select host,user from user where user = 'root';
+-----------+------+
| host      | user |
+-----------+------+
| 127.0.0.1 | root |
| ::1       | root |
| localhost | root |
| myubuntu  | root |
+-----------+------+
4 rows in set (0.00 sec)
  • 发现 root 用户配置的 host 信息是 localhost 或者 127.0.0.1,所以在本机可以通过 localhost 或者 127.0.0.1 连接到 mysql 数据库
mysql> quit
Bye
ubuntu@MyUbuntu:~$ mysql -uroot -pyongdu -h127.0.0.1
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 46
  • 其中-h代表指定的 ip 主机,用本机的 ip 尝试连接 mysql -uroot -pyongdu -h 192.168.43.246 发现无法登陆,这是因为 root 只允许 localhost 和 127.0.0.1 进行登陆
ubuntu@MyUbuntu:~$ mysql -uroot -pyongdu -h 192.168.43.246
ERROR 1045 (28000): Access denied for user 'root'@'192.168.43.246' (using password: YES)
  • 想要进行远程连接,可以考虑增加一个用户 GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
  • 这条指令是增加一个 admin 用户,密码为 admin,连接的主机设置为“%”,代表任意的 ip 可以连接,同时给 admin 赋权进行所有操作
  • 执行 flush privileges;,使上述设置生效
  • 再次查看 user 表,按 admin 查询
mysql> select host,user from user where user = 'admin';
+------+-------+
| host | user  |
+------+-------+
| %    | admin |
+------+-------+
1 row in set (0.00 sec)
  • 发现 admin 用户创建成功,且 host 对应的是“%”,这样便可以尝试远程连接,有些情况下可能还会连接失败。有的主机还有对 mysql 启动时的设置:/etc/mysql/my.cnf bind-address = 127.0.0.1
    在这个配置文件里也绑定了 ip,可用命令 sudo find / -name my.cnf 查找到该文件,将 bind-address 这一行注释掉,或者改为 0.0.0.0
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1
#
# * Fine Tuning
  • 然后重启 mysql 服务 sudo service mysql restart
  • 使用 admin 用户进行远程连接
ubuntu@MyUbuntu:~$ mysql -h 192.168.43.246 -uadmin -padmin
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 36
  • 成功登陆,下面在 windows 下用 Navicat 工具连接到 msql 数据库,虚拟机和主机需联网
  • 测试成功后点击确定
  • 连接完成,此时便可用图形工具操作数据库了

如何远程连接MySQL数据库相关推荐

  1. windows下本地或者远程连接MYSQL数据库,报1130错误的解决方法

    windows下本地或者远程连接MYSQL数据库,报1130错误的解决方法 参考文章: (1)windows下本地或者远程连接MYSQL数据库,报1130错误的解决方法 (2)https://www. ...

  2. php连接mysql数据库失败_PHP远程连接MySQL数据库失败之原因

    欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 php远程连接mysql数据库的步骤如下: 1.使用所购买空间的数据库管理界面,设置远程访问IP,也就是php文件所在的主 ...

  3. 当远程连接MySQL数据库的时候显示Can't connect to MySQL server (10060

    当远程连接MySQL数据库的时候显示Can't connect to MySQL server (10060),我们从以下几个方面入手,找出错误的原因: 1.网络不通. 检查能不能ping通. 2.防 ...

  4. 无公网IP,外网远程连接MySQL数据库

    哈喽~大家好,这篇来看看无公网IP,外网远程连接MySQL数据库. 文章目录 前言 1. 检查mysql安装状态 2. 安装配置cpolar内网穿透 3. 创建tcp隧道,映射3306端口 4. 公网 ...

  5. python远程连接mysql数据库_python远程连接MySQL数据库

    python远程连接MySQL数据库 本文实例为大家分享了python远程连接MySQL数据库的具体代码,供大家参考,具体内容如下 连接数据库 这里默认大家都已经配置安装好 MySQL 和 Pytho ...

  6. linux mysql如何远程连接mysql数据库,Linux下远程连接MySQL数据库的方法

    Linux下远程连接MySQL数据库的方法 踩坑笔记 估计搞了一个多小时才把这个远程连接搞好.一台本地电脑,一台云服务器,都是linux系统. 步骤 1.在服务器端开启远程访问 首先进入mysql数据 ...

  7. C++远程连接MySQL数据库

    C++远程连接MySQL数据库 1. 一个想法 2. 实操过程及截图 2.1 软硬件介绍 2.2 实操过程 2.3 测试 3. 总结 1. 一个想法 最近迷上了MySQL数据库,感觉很多信息都可以存在 ...

  8. PHP远程连接MYSQL数据库非常慢的解决方法

    不知道如何解决,所以把他空间所在的服务器上也装了个MYSQL,才解决问题,今天又有个这个问题,不能也在这服务器上装一个MYSQL吧,Search: PHP远程连接MYSQL速度慢,有时远程连接到MYS ...

  9. mysql输入命令1002无标题_Linux下远程连接MySQL数据库的方法

    步骤 1.在服务器端开启远程访问 首先进入mysql数据库,然后输入下面两个命令: grant all privileges on *.* to 'root'@'%' identified by 'p ...

最新文章

  1. MyBatis 框架下 SQL 注入攻击的 3 种方式,真是防不胜防!
  2. 【Android 安装包优化】使用 lib7zr.a 静态库处理压缩文件 ( 交叉编译 lib7zr.a 静态库 | 安卓工程导入静态库 | 配置 CMakeLists.txt 构建脚本 )
  3. 040_Unicode对照表六
  4. 全球及中国高压和超高压波纹铝护套交联聚乙烯电缆行业产销现状与投资策略建议报告2021-2027年版
  5. 江苏省二级c语言考试软件下载,江苏省二级c语言上机考试例题集1-20
  6. CH0805 防线 (二分值域,前缀和,特殊性质)
  7. 调用高德逆地理接口_地理编码与逆地理编码
  8. select下拉框默认不能选择第一个选项的问题
  9. Android 权限清单大全
  10. macbook设置充电上限
  11. 来自阿里十余年的老架构师自述:成为架构师你只差了一步
  12. 政府应用系统应用解决方案
  13. 快速入门一个简单的情感分类项目
  14. c++获取umg ue_[UE4]UMG widget Property Binding(属性绑定),事件触发蓝图函数和C++函数...
  15. Kafka拉取某一个时间段內的消息
  16. arduino 1 读取电机编码器值
  17. 12v电量显示制作方法_由分立器件设计的汽车12V电池电量指示器(上) | 电子懒人的基础硬件电路图讲解...
  18. 计算机编码与解码编码表
  19. latex 表格引用出错 出现?? You have referenced something which has not yet been labelled
  20. windows 下的 Latex使用软件安装以及插件安装

热门文章

  1. 杰理之文件打包工具使用【篇】
  2. android 自定义关机界面,android源码探索之定制android关机界面的方法
  3. Java基础-this关键字
  4. 如何优雅的更改文件夹目录名字
  5. 魔咒词典(C/C++)
  6. (三)打造华丽的即时通信系统主界面,让你的聊天体验更有质感
  7. 零基础学 Python 爬虫(13):urllib 基础使用(三)
  8. 实数取整写入文件(C语言文件篇)
  9. 洗牌算法(高纳德置乱算法)记录
  10. setenforce用法