怎么创建一个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')。

排除网络或防火墙问题

先看是否能ping通远程服务器,ping 1921681211,如果不可以就是网络问题。然后,检查端口是否被防火墙挡住了,telnet 1921681211 3306,如果连接失败,配置防火墙。

配置防火墙,开启3306端口

vi /etc/sysconfig/iptables-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)/etc/initd/iptables restart(重启防火墙使配置生效)

2检查MySQL配置

如果开启了防火墙,telnet还是失败,通过netstat查看3306的端口状态:

netstat -apn|grep 3306tcp6  0  0 127001:3306  :::  LISTEN    13524/mysqld

注意地方,这说明3306被绑定到了本地。检查一下mycnf的配置,这里可以配置绑定ip地址。

bind-address=addr

不配置或者IP配置为0000,表示监听所有客户端连接。

ps:我开启3306端口,并且检查MySQL配置之后,telent仍然失败,但是在本机telnet是ok的,再三确认了配置没有问题。后来跟我们的ucloud账号管理员提了一下,才知道ucloud管理后台也需要开启3306端口,用云服务器的留意这个。

3检查用户访问权限

MySQL建用户的时候会指定一个host,默认是127001/localhost,那么这个用户就只能本机访问,其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问。

最后,别忘了重启mysql使配置生效。

以上几个原因,你看一下是否适用你的情况

1、安装了mysql客户端和服务器--》创建好数据库--》服务器上的站点直接连接地址为              localhost。

2、服务器外的如果要调用需要服务器开启mysql远程允许。

3、然后再调用的时候填写服务器的外网ip地址。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎么创建一个mysql用户并远程访问

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情