如何连接到服务器上的mysql数据库

如何连接到服务器上的mysql数据库,第1张

首先你要先和服务器的网络是能Ping通的
MYSQL连接一般需要输入目标服务器的IP地址,端口号,用户名和密码。
如:ip地址:19216811101
端口 :3306
用户名:root
密码:root
其中用户名和密码一般输入root都是可以进入的。不行就去目标服务器上的数据库管理下用户。
MYSQL一般都是用NAVITE for mysql。点击左上角的连接按钮。输入以上信息就可以了,记得先PING网络。

前置条件:

1、在阿里云服务器de系统是win service 2012。

2、服务器里自己安装了my sql 57

3、本地也安装了my sql 57

 

需求:想通过本地的mysql连接上远程的服务器的mysql,这样自己在本地 *** 作数据库比在服务器里数据库要好。

 

步骤:

一、增加允许远程连接 MySQL 用户 并授权。

在你安装路径下的bin文件夹里进行命令行的设置。

1、首先以 root 帐户登陆 MySQL

在服务器中打开命令行(shift+右键)

打开数据库管理员权限

mysql -uroot -p 123

我去,对应的是123是对应到数据库名。

果断改为

mysql -uroot -p

输入mysql的密码。

 

2、查看用户的权限

mysql> select host,user from user; (查看用户的权限情况)

 

 

3、创建远程登录用户并授权

进入到服务器的命令行里

输入

use mysql

在输入

grant all PRIVILEGES on discuz to ted@'123123123123' identified by '123456';

上面的语句表示将 discuz 数据库的所有权限授权给 ted 这个用户,允许 ted 用户在 123123123123 这个 IP 进行远程登陆,并设置 ted 用户的密码为 123456 。

注意:

(1)all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。

(2)discuz 表示上面的权限是针对于哪个表的,discuz 指的是数据库,后面的 表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“”,对于某一数据库的全部表授权为“数据库名”,对于某一数据库的某一表授 权为“数据库名表名”。

(3)ted 表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。

(4)123123123123 表示允许远程连接的 IP 地址,如果想不限制链接的 IP 则设置为“%”即可。

(5)123456 为用户的密码。

 

我最终使用的是把整个数据库的权限都ok,全部数据库的全部表,给root用户授权。没有设定远程连接IP地址。

 

4、执行更新权限(刷新权限)

flush privileges;

 

5、再一次查看数据库用户权限

mysql> select host,user from user; (再次查看用户的权限情况)

  

 

二、打开服务器上的防火墙阻止 3306 端口,可以公网访问。

 MySQL 默认的端口是 3306 ,需要确定防火墙没有阻止 3306 端口,否则远程是无法通过 3306 端口连接到 MySQL 的。

如果您在安装 MySQL 时指定了其他端口,请在防火墙中开启您指定的 MySQL 使用的端口号。

找到防火墙的允许的应用,打开数据库的公用和专用。

 

 

三、在本地建立服务器数据库连接

1、点击这个

 

2、数据里填上连接的名字,服务器IP,以及连接数据库的名字和密码

 

 3、点击configure server mangement

如果报这个错误,说明是服务器的3306端口与没有打开。

 

下面图连接成功

 

 选择SSH login。。。。

 

 

 输入服务器的公网IP和端口(我也不知道是啥端口我写的是本地跑的项目的本地接口)

 

 

 一路next就ok。

三种解决方法:
1、改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改
"mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmware
mysql>use mysql;
mysql>update user set host = '%' where user =
'root';
mysql>select host, user from user;
2、授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH
GRANT OPTION;
如果你想允许用户myuser从ip为19216816的主机连接到mysql服务器,并使用mypassword作为密码
GRANT
ALL PRIVILEGES ON TO 'myuser'@'19216813'IDENTIFIED BY 'mypassword' WITH
GRANT OPTION;
我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES
使修改生效,就可以了
第三种方法:
在安装mysql的机器上运行:
1、d:\mysql\bin\>mysql -h localhost -u root
//这样应该可以进入MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON TO 'root'@'%'WITH GRANT OPTION
//赋予任何主机访问数据的权限
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
//退出MySQL服务器
这样就可以在其它任何的主机上以root身份登录了。
之上是找的资源,实际情况是你远程额服务器,如果是用服务器的话,安装的有PHPMYADMIN, 那么将省去很多代码。

有多种方法啊。介绍其中一种,使用mysql数据库的odbc驱动。
步骤:
1安装mysql数据库的odbc驱动,mysql-connector-odbc-35123-win32msi(其中是版本号),下载并安装。
2在mysql中创建数据库实例。
3打开控制面板
--
管理工具
--
数据源odbc,在用户dsn中添加一个mysql
odbc
351数据源。
4在登录login选项卡中输入数据源名称data
source
name,此处输入mysqldns(也可以自己随便命名,只要在后面导入数据的时候选择正确的数据源名字就行);然后输入服务器server,用户user,密码password,输入正确后选择要导入的数据库,database选择你需要导入的数据库。在连接选项connect
options中根据需要设置mysql使用的端口port和字符集character
set。
注:字符集一定要和mysql服务器相对应,如果mysql使用了gbk字符集,则一定要设置字符集为gbk,否则导入到sql
server可能会出现问号乱码。
5打开sql
server企业管理器,选择该数据库,单击右键选择所有任务
--
导出数据。
6‘选择数据源’为默认,‘选择目的’为刚刚安装的mysql数据源,用户/系统dsn为mysqldns。
方法2:
有多种方法啊。介绍其中一种,使用mysql数据库的odbc驱动。步骤:
1安装mysql数据库的odbc驱动,mysql-connector-odbc-35123-win32msi(其中是版本号),下载并安装。
2在mysql中创建数据库实例。
3打开控制面板
--
管理工具
--
数据源odbc,在用户dsn中添加一个mysql
odbc
351数据源。
4在登录login选项卡中输入数据源名称data
source
name,此处输入mysqldns(也可以自己随便命名,只要在后面导入数据的时候选择正确的数据源名字就行);然后输入服务器server,用户user,密码password,输入正确后选择要导入的数据库,database选择你需要导入的数据库。在连接选项connect
options中根据需要设置mysql使用的端口port和字符集character
set。
注:字符集一定要和mysql服务器相对应,如果mysql使用了gbk字符集,则一定要设置字符集为gbk,否则导入到sql
server可能会出现问号乱码。
5打开sql
server企业管理器,选择该数据库,单击右键选择所有任务
--
导出数据。
6‘选择数据源’为默认,‘选择目的’为刚刚安装的mysql数据源,用户/系统dsn为mysqldns。

1、mysql数据库(例如19216811)需要创建允许远程访问的用户。可以指定IP或允许所有IP
2、例如#创建数据库,允许user01在19216815访问
mysql -uroot -p123456 -e"create database db01"
#创建用户
mysql -uroot -p123456 -e"CREATE USER 'user01'@'19216815' IDENTIFIED BY ‘123456’;"
mysql -uroot -p123456 -e"GRANT ALL ON db01 TO 'user01'@'19216815';"
3、例如#创建数据库,允许user01在%(任意IP)访问
mysql -uroot -p123456 -e"CREATE USER 'user01'@'%' IDENTIFIED BY ‘123456’;"
mysql -uroot -p123456 -e"GRANT ALL ON db01 TO 'user01'@'%';"
4、查询user和相应host
select user,host from user;
5、远程访问mysql测试
mysql -uroot -p123456 -h 19216811

当在Tableau中连接MySQL数据库时出现“无法连接服务器,检查服务器是否正在运行以及您是否有权访问”等错误提示时,可能是以下原因之一:
1MySQL服务器没有运行:请确认MySQL数据库服务器是否已经启动。可以检查MySQL的状态或者重启MySQL服务,看是否能够正常连接。
2MySQL数据库没有正确配置端口:请确保已经正确设置MySQL数据库的端口号,并在Tableau中正确输入该端口号。默认情况下,MySQL使用3306端口。
3防火墙阻止了连接:如果您的计算机中安装了防火墙,可能会阻止Tableau与MySQL数据库的连接。请检查您的防火墙设置,确保Tableau可以访问MySQL端口。
4数据库权限问题:请确保您在连接MySQL数据库时使用的用户名和密码具有足够的权限来访问该数据库。可以在MySQL服务器上检查用户的权限设置,或者使用管理员账号登录MySql进行授权 *** 作。
5MySQL驱动程序问题:如果您安装的MySQL驱动程序版本较老,可能会导致连接失败。建议升级到最新版本的MySQL驱动程序,并重新尝试连接。
6检查MySQL服务器是否正在运行。您可以打开命令行终端并输入“netstat -an”来检查服务器是否在运行。
7确认您的MySQL用户名和密码是否正确。这些都是在MySQL服务器上配置的,因此请确保您在Tableau中使用的用户名和密码与服务器上的相同。
8确认MySQL服务器是否开放了需要的端口。默认情况下,MySQL服务器端口是3306,如果您的MySQL服务器使用了不同的端口,则需要更新Tableau中的端口配置。您可以在Tableau“连接到数据”窗口中的MySQL连接设置中更改端口。
9确认您的计算机是否允许访问MySQL服务器。在某些情况下,您的计算机本身的安全设置可能会阻止访问MySQL服务器。您可以检查防火墙设置,以确保Tableau具有访问MySQL服务器的权限。
总的来说,当在Tableau中连接MySQL数据库时出现连接失败的错误提示,需要仔细检查以上几个问题,找出原因并解决,才可以成功连接到MySQL数据库。

首先在数据库服务器上设置mysql可以远程访问,其次打开数据库服务器所在的linux系统上的防火墙策略添加3306端口,最后配置网络环境让2台机器可以进行通信。
其它java工程配置数据库的ip和用户名密码即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13470780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-13
下一篇 2023-08-13

发表评论

登录后才能评论

评论列表(0条)

保存