本文目录一览:
- 1、如何连接远程Mysql数据库
- 2、如何把mysql数据库上传到远程服务器上(即网站)
- 3、怎样在远程服务器上创建一个mysql数据库
- 4、如何访问远程服务器上的mysql数据库
- 5、mysql 远程连接方法
如何连接远程Mysql数据库
第一:更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。
或者新加条记录,“host” 项为要访问的ip地址,并授权。重启mysql服务。
第二:在系统防火墙添加例外端口:3306,并允许例外。
错误提示:
ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server
的解决方法:
1。改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
1.mysql -u root -pvmware
mysqluse mysql;
mysqlupdate user set host = '%' where user = 'root';
mysqlselect host, user from user;
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
3.在window自带的防火墙里的例外添加3306端口
总结:
mysql -u root -p
mysqluse mysql;
mysqlselect 'host' from user where user='root';
mysqlupdate user set host = '%' where user ='root';
mysqlflush privileges;
mysqlselect 'host' from user where user='root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。
如何把mysql数据库上传到远程服务器上(即网站)
1)、数据不多的情况下,可以直接用数据库连接工具,上面有数据库拷贝到数据库的功能来拷贝。
2)、数据量大的情况下,建议用下面的方式:
1、远程服务上面安装mysql服务器
2、本地的数据库的数据导出到一个文件中
3、ftp或者其他方式,把这个数据库文件传到远程服务器
4、用远程服务中source命令,导入
怎样在远程服务器上创建一个mysql数据库
第一步:安装MySQL客户端
当然你得确保MySQL客户端已经安装完毕。如果没有的话,可以按照下面的方法。
在Debian,Ubuntu 或者 Linux Mint上:
$ sudo apt-get install mysql-client
$ sudo apt-get install mysql
第二步:登陆到MySQL服务器
首先,你需要使用root用户登陆进你的MySQL数据库,如下:
$ mysql -u root -h -p
请注意:为了能登进远程的MySQL服务器,你需要开启服务器上的远程访问,如果你想调用同一主机上的MySQL服务器,你可以省略 "-h " 参数
$ mysql -u root -p
你将需要输入MySQL服务器的密码,如果认证成功,MySQL提示将会出现。
第三步:创建一个MySQL数据库
在MySQL提示中输入命令之前,请记住所有的命令都是以分号结束的(否则将不会执行)。另外,考虑输入命令的时候使用大些字母,输入数据库对象使用小写字母。但那不是必须的,只是方便的阅读。
现在,创建一个叫做xmodulo_DB的数据库:
mysql CREATE DATABASE IF NOT EXISTS xmodulo_DB;
第四步:创建一个数据库表
为了达到演示的目的,创建一个叫做posts_tbl的表,表里会存储关于文章的如下信息:
文章的标题
作者的名字
作者的姓
文章可用或者不可用
文章创建的日期
这个过程分两步执行:
首先,选择需要使用的数据库:
mysql USE xmodulo_DB;
然后,在数据库中创建新表:
mysql CREATE TABLE 'posts_tbl' (
'post_id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'content' TEXT,
'author_FirstName' VARCHAR(100) NOT NULL,
'author_LastName' VARCHAR(50) DEFAULT NULL ,
'isEnabled' TINYINT(1) NOT NULL DEFAULT 1,
'date' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY ( 'post_id' )
TYPE = MYISAM;
第五步:创建一个用户,并授予权限
当涉及到访问新创的数据库和表的时候,创建一个新用户是一个很好的主意。这样做就可以让用户在没有整个MySQL服务器权限的情况下,去访问那个数据库(而且只能是那个数据库)
你可以创建新用户,授予权限,并且使改变生效:
mysql GRANT ALL PRIVILEGES ON xmodulo_DB.* TO 'new_user'@'%' IDENTIFIED BY 'new_password';
mysql FLUSH PRIVILEGES;
'newuser'和'newpassword'分别指的是新的用户名和他的密码。这条信息将会被保存在mysql.user表中,而且密码会被加密。
第六步:测试
先插入一个虚拟的记录到posts_tbl表:
mysql USE xmodulo_DB;
mysql INSERT INTO posts_tbl (content, author_FirstName, author_Las tName)
VALUES ('Hi! This is some dummy text.', 'Gabriel', 'Canepa');
然后查看posts_tbl表中的所有记录:
mysql SELECT * FROM posts_tbl;
注意:MySQL会在先前定义的地方自动插入适当的默认值(比如,'isEnabled'和'date')。
如何访问远程服务器上的mysql数据库
首先确定已经安装并且能够使用,而且数据库的远程访问已开启;
如果对方不是固定的IP,则可以使用花生壳来充当固定的IP,花生壳的安装,及具体的使用方法,请参考另一篇经验 《申请一个免费域名及远程桌面》;
接下来便是访问了
首先在运行输入 cmd
这样便打开了命令提示符,如下:
打开了之后在此输入 mysql -h你的IP或者花生壳的账户 -uroot -p该数据库的密码
例如:mysql -h30.158.59.78 -uroot -pabc123
mysql -htom.xicp.net -uroot -pabc123
10
完成
mysql 远程连接方法
mysql开启远程连接:
以 root用户登入mysql
GRANT all privileges ON wang.* TO 'wang'@'%' identified by 'wang';
flush privileges;
修改配置文件
vi /etc/mysql/my.cnf
把bind-address = 127.0.0.1 这行注掉
重启数据库
service mysql restart
本地测试连接3306端口
telnet 192.168.1.77 3306 若已连通
确定已安装mysql客户端which mysql
/usr/bin/mysql
然后mysql -uwang -h192.168.1.77 -p 看能否登录
外网如何利用网络辅助nat123实现访问内网mysql数据库?
网络环境:动态公网IP。
明确mysql数据库内网访问地址端口,确保mysql数据库服务正常,在内网可以正常访问连接。内网使用nat123动态域名解析。内网服务器安装nat123客户端,并使用它。登陆。进入主面板/域名解析列表/添加域名。选择动态域名解析记录,使用二级域名,或自己的域名。鼠标放在输入框有向导提示。
路由器端口映射,路由映射mysql数据库访问端口。
因为公网IP是在路由器上的,外网访问时,需要经过路由,需要在路由器上做端口映射,将内网mysql数据库访问端口打通。路由器端口映射位置:转发规则/虚拟服务器/添加允许外网访问端口和协议。我的mysql数据库端口是默认的3306,我内网对应mysql数据库主机的内网IP地址是192.168.1.22。
外网访问时,使用动态解析域名。
在外网访问mysql数据库时,使用动态解析域名进行连接访问。域名是不变的,可以上网即可访问,再也不担心动态公网IP变化的问题。