前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql连接远程数据库_plsql连接远程数据库

mysql连接远程数据库_plsql连接远程数据库

作者头像
全栈程序员站长
发布2022-11-08 15:30:49
31.7K1
发布2022-11-08 15:30:49
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

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

  • 登录 root 用户 mysql -uroot -pyongdu
  • 查看 mysql 数据库中的所有表
代码语言:javascript
复制
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| hr                 |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)
  • 切换到 mysql 数据库
  • 查看有哪些表
代码语言:javascript
复制
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 -A
Database 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用户的配置
代码语言:javascript
复制
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 数据库
代码语言:javascript
复制
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 进行登陆
代码语言:javascript
复制
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;
代码语言:javascript
复制
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 查询
代码语言:javascript
复制
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
代码语言:javascript
复制
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1
#
# * Fine Tuning
  • 然后重启 mysql 服务 sudo service mysql restart
  • 使用 admin 用户进行远程连接
代码语言:javascript
复制
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 数据库,虚拟机和主机需联网
在这里插入图片描述
在这里插入图片描述
  • 测试成功后点击确定
在这里插入图片描述
在这里插入图片描述
  • 连接完成,此时便可用图形工具操作数据库了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/182347.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档