mysql数据怎么允许远程连接

mysql数据怎么允许远程连接,第1张

配置mysql允许远程连接的方法

默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件。

一、修改/etc/mysql/my.conf

找到bind-address = 127.0.0.1这一行

改为bind-address = 0.0.0.0即可

二、为需要远程登录的用户赋予权限

1、新建用户远程连接mysql数据库

grant all on *.* to admin@'%' identified by '123456' with grant option 

flush privileges

允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。

注意admin账户不一定要存在。

2、支持root用户允许远程连接mysql数据库

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option

flush privileges

1,打开命令行

2,使用root用户登录mysql:

mysql -u root -p"这里输root用户的mysql密码"

3,进行授权 *** 作,比如允许ip为111.111.111.111的远程用户登录,那就输入语句

GRANT ALL PRIVILEGES ON *.* TO root@"111.111.111.111" IDENTIFIED BY "远程用户登录的密码,自己设一个" WITH GRANT OPTION

4,重载授权表:输入语句

FLUSH PRIVILEGES

这就ok了,那就可以远程用root用户,和你设置的远程登录密码连接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')。


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

原文地址: https://outofmemory.cn/bake/11636697.html

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

发表评论

登录后才能评论

评论列表(0条)

保存