怎样在远程服务器上创建一个mysql数据库

怎样在远程服务器上创建一个mysql数据库,第1张

第一步:安装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'分别指的是新的用户名和他的密码。这条信息将会被保存在mysqluser表中,而且密码会被加密。

第六步:测试

先插入一个虚拟的记录到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默认状态是只支持localhost连接,这样远程服务器都输入IP地址去连接你的服务器是不可以的,下面我来介绍怎么让mysql允许远程连接配置方法,有需要的朋友可参考。

方法一,直接利用在“权限”-》管理中修改用户选择或输入IP地址。

方法二,使用mysql的GRANT命令进行操作

例如:让newuser用户使用newpwd密码从IP:19216813主机链接到mysql服务器

具体步骤:

代码如下

mysql>GRANT ALL PRIVILEGES ON TO ‘newuser’@’19216813′ IDENTIFIED BY ‘newpwd’ WITH GRANT OPTION;

mysql>flush privileges;

完整配置方法

假设我们有:

代码如下

Web-Server : 1921681100 //ubuntu

Mysql-Server : 1921681101 //xp

我们可以按照下面的步骤修改:

1, 登录 Mysql-Server 连接本地 mysql (默认只允许本地连接)

代码如下

Microsoft Windows XP [版本 512600]

(C) 版权所有 1985-2001 Microsoft Corp

C:Documents and Settingskuco>mysql -h localhost -u root -p

Enter pass:

Welcome to the MySQL monitor Commands end with ; or g

Your MySQL connection id is 13

Server version: 5145-community-log MySQL Community Server (GPL)

Type 'help;' or 'h' for help Type 'c' to clear the current input statement

mysql>

2, 修改 Mysql-Server 用户配置

代码如下

mysql> USE mysql; -- 切换到 mysql DB

Database changed

mysql> SELECT User, Password, Host FROM user; -- 查看现有用户,密码及允许连接的主机

+------+----------+-----------+

| User | Password | Host |

+------+----------+-----------+

| root | | localhost |

+------+----------+-----------+

1 row in set (000 sec)

mysql> -- 只有一个默认的 root 用户, 密码为空, 只允许 localhost 连接

mysql> -- 下面我们另外添加一个新的 root 用户, 密码为空, 只允许 1921681100 连接

mysql> GRANT ALL PRIVILEGES ON TO 'root'@'1921681100' IDENTIFIED BY '' WITH GRANT OPTION;

mysql> -- 当然我们也可以直接用 UPDATE 更新 root 用户 Host, 但不推荐, SQL如下:

mysql> -- UPDATE user SET Host='1921681100' WHERE User='root' AND Host='localhost' LIMIT 1;

grant 权限名(所有的权限用all) on 库名(全部)表名(全部) to ’要授权的用户名‘@’%'(%表示所有的IP,可以只些一个IP) identified by “密码”;

身份检查使用user表(Host, User和Password)3个范围列执行。服务器只有在user表记录的Host和User列匹配客户端主机名和用户名并且提供了正确的密码时才接受连接。

在user表Host值的指定方法:

Host值可以是主机名或IP号,或’localhost’指出本地主机。

你可以在Host列值使用通配符字符“%”和“_”。

Host值’%'匹配任何主机名,空Host值等价于’%'。它们的含义与LIKE操作符的模式匹配操作相同。例如,’%'的Host值与所有主机名匹配,而’%mysqlcom’匹配mysqlcom域

的所有主机。

3, 修改 Mysql 配置文件 myini

代码如下

bind-address = 127001

将 bind-address = 127001 这一行注释掉, 即修改为:

代码如下

#bind-address = 127001

到此 Mysql-Server 端配置就完成了

4, 连接 Web-Server , 检查一下是否能连上

代码如下

kuco@kuco-desktop:/$ /opt/lampp/bin/mysql -h 1921681101 -u root -p

Enter password:

Welcome to the MySQL monitor Commands end with ; or g

Your MySQL connection id is 23

Server version: 5145-community-log MySQL Community Server (GPL)

Type 'help;' or 'h' for help Type 'c' to clear the current input statement

mysql> -- 一切OK

1 一般来讲,远程服务器使用linux环境搭建,出于安全考虑,对登陆终端有严格限制,意思就是说linux在命令行会决定哪些ip可以登陆服务器,你需要和管理人员进行协商,让其对你的ip开放

2设置完成后你就可以在你电脑上连接mysql了,账号我们一般写的是localhost 现在你改成ip地址就好了,个人建议使用navicat 特别方便,windos和mac都有破解版,方便下载

对你ip开放后,点击navicat圈住部分,进行登陆操作

看着localhost了没,改成你的ip地址,然后接口一般3306 保持原样,远程mysql的账号密码,写上就好了

3如果还没连接上就在问一下linux技术支持,那就是还没对你的ip开放,当然了连接成功后密码一定要妥善保管,不然后果很严重

mysql开启远程连接:

以 root用户登入mysql

GRANT all privileges ON wang TO 'wang'@'%' identified by 'wang';

flush privileges;

修改配置文件

vi /etc/mysql/mycnf

把bind-address           = 127001  这行注掉

重启数据库

service mysql restart

本地测试连接3306端口

telnet 192168177 3306   若已连通

确定已安装mysql客户端which mysql

/usr/bin/mysql

然后mysql -uwang -h192168177 -p  看能否登录

外网如何利用网络辅助nat123实现访问内网mysql数据库?

网络环境:动态公网IP。

明确mysql数据库内网访问地址端口,确保mysql数据库服务正常,在内网可以正常访问连接。内网使用nat123动态域名解析。内网服务器安装nat123客户端,并使用它。登陆。进入主面板/域名解析列表/添加域名。选择动态域名解析记录,使用二级域名,或自己的域名。鼠标放在输入框有向导提示。 

路由器端口映射,路由映射mysql数据库访问端口。

因为公网IP是在路由器上的,外网访问时,需要经过路由,需要在路由器上做端口映射,将内网mysql数据库访问端口打通。路由器端口映射位置:转发规则/虚拟服务器/添加允许外网访问端口和协议。我的mysql数据库端口是默认的3306,我内网对应mysql数据库主机的内网IP地址是192168122。

外网访问时,使用动态解析域名。

在外网访问mysql数据库时,使用动态解析域名进行连接访问。域名是不变的,可以上网即可访问,再也不担心动态公网IP变化的问题。

最近有一同学问我MySQL无法远程访问怎么呢,但能使用localhost来进行方法,下面脚本之家来给各位介绍一下解决办法,需要的朋友可以参考下

可能是IP没设置好

问题:MySQL权限设置正确,但仍无法远程访问。通过telnet发现3306端口未打开。

分析:MySQL默认只绑定127001,即:只有在本机才能访问3306端口。

解决:找到MySQL配置文件,搜索“bind-address”,找到这一行:

bind-address = 127001 在前面加一个#,注释掉这一行,保存,重启MySQL。再通过远程访问就可以了,telnet可以发现端口也打开了。

例我们配置

1 确保skip-networking被删除或者屏蔽,否则不支持TCP/IP 访问

2 增加行bind-address = 6555552,替代6555552 为你的服务器地址

修改后,配置为:

复制代码代码如下:

[mysqld]

user = mysql

pid-file = /var/run/mysqld/mysqldpid

socket = /var/run/mysqld/mysqldsock

port = 3306

basedir = /usr

datadir = /var/lib/mysql

tmpdir = /tmp

language = /usr/share/mysql/English

bind-address = 6555552

# skip-networking

保存并关闭配置文件

重启mysql服务器:# /etc/initd/mysql restart

如果上面办法没有用我们可以通用mysql命令模式进行设置

1。 改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

复制代码代码如下:

CODE:mysql -u root -p123

mysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

2 授权法。

例如,你想kevin使用mypassword从任何主机连接到mysql服务器的话。

复制代码代码如下:

GRANT ALL PRIVILEGES ON TO 'kevin'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

如果你想允许用户kevin从ip为192168101234的主机连接到mysql服务器,并使用mypassword作为密码

复制代码代码如下:

GRANT ALL PRIVILEGES ON TO 'kevin'@'192168101234' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

注意了,如果是linux系统防火墙也很重要哦

复制代码代码如下:

/ 关闭防火墙 /

service iptables stop

/ 开启防火墙 /

service iptables start

/ 默认关闭防火墙 /

chkconfig iptables off

第一中方法:比较详细

以下的文章主要介绍的是MySQL 数据库开启远程连接的时机操作流程,其实开启MySQL

数据库远程连接的实际操作步骤并不难,知识方法对错而已,今天我们要向大家描述的是MySQL 数据库开启远程连接的时机操作流程。

1、d:\MySQL\bin\>MySQL -h localhost -u root

这样应该可以进入MySQL服务器

复制代码

代码如下:

MySQL>update user set host = '%' where

user = 'root';

MySQL>select host, user from user;

2、MySQL>GRANT ALL PRIVILEGES ON TO 'root'@'%' IDENTIFIED BY

'mypassword' WITH GRANT OPTION

予任何主机访问数据的权限

3、MySQL>FLUSH

PRIVILEGES

修改生效

4、MySQL>EXIT

退出MySQL服务器

这样就可以在其它任何的主机上以root身份登录啦!

以上的相关内容就是对MySQL 数据库开启远程连接的介绍,望你能有所收获。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎样在远程服务器上创建一个mysql数据库

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情