用MysQL怎么进行远程连接数据库

用MysQL怎么进行远程连接数据库,第1张

MySQl远程连接数据库有两种方法,具体如下:

改表法。  在localhost登入mysql后,更改 "MySql" 数据库中的 "User" 表里的 "Host"选项,将"localhost"对应的值改为"%",具体代码如图所示:

2.授权法。 若MyUser想要使用mypassword(用户密码)从任何主机连接到mysql服务器则可以使用此方法,具体步骤如下图所示。

3.按照上述改法,保存后重启即可生效。

拓展资料:

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。

2.数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

3.在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。

4.数据库是一个单位或是一个应用领域的通用数据处理系统,它存储的是属于企业和事业部门、团体和个人的有关数据的集合。数据库中的数据是从全局观点出发建立的,按一定的数据模型进行组织、描述和存储。

5.其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不再针对某一应用,而是面向全组织,具有整体的结构化特征。

参考资料:数据库_百度百科

首先我们在linux系统上安装mysql,本文默认linux系统可以联网或者已经挂载光盘iso了,我们使用命令 apt-get install mysql-server 命令进行安装,安装完成后,查看mysql是否启动,执行命令 ps -e |grep mysql。

请点击输入图片描述

验证初始是否允许远程连接,由于本次虚拟机IP为192.168.2.120,因此我们执行mysql -h 192.168.20.120 -P 3306 -u root -proot(备注:-proot,root指root账号的密码),可以得到结果连接不上。

假如我们不采用远程连接,可以连接上,命令为:mysql -u root -proot。

请点击输入图片描述

请点击输入图片描述

接下来,我们连接上数据库,执行命令use mysql使用mysql数据库。

并查看用户表信息,执行命令为:select Host,User from user。

执行结果如下图所示。

请点击输入图片描述

通过上面步骤可以得到数据表 user内的值,下面我们对表进行更新记录允许远程访问,

执行命令为:update user set Host='%' where User ='root' limit 1

(该条命令意思为更新user表内User值为root的第一条记录的Host值设置为%)更新完成后,执行上一步查询命令进行验证

请点击输入图片描述

执行强制刷新命令flush privileges

执行完毕后,关闭数据库连接。

请点击输入图片描述

更改mysql安装目录下的my.cnf文件。

一般默认路径在/etc/mysql/下,找到bind-address = 127.0.0.1 这一行,可以对其进行删除,注释或者将127.0.0.1更改为0.0.0.0,修改完毕后保存。

请点击输入图片描述

重启mysql,命令为service mysql restart。进行远程登陆测试,可以看到已经允许远程连接了。

请点击输入图片描述

一、连接远程数据库:

1、显示密码

如:MySQL 连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456”

C:/>mysql -h 192.168.5.116 -P 3306 -u root -p123456

2、隐藏密码

如:MySQL 连接本地数据库,用户名为“root”,

C:/>mysql -h localhost -u root -p

Enter password:

二、配置mysql允许远程链接

默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。

一、改表法

在localhost登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改称"%"

例如:

#mysql -u root -p

Enter password:

……

mysql>

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

mysql>select host, user from user

二、授权法

例如: 你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。

mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION

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

mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY

'mypassword' WITH GRANT OPTION

mysql>FLUSH PRIVILEGES

使修改生效,就可以了

常见问题:

1、在采用法二授权法之后,无法在本地登录mysql(如:#mysql -u root -p -h 192.168.5.116

Enter password:

ERROR 1045 (28000): Access denied for user 'root'@'loadb116' (using password: YES)

上例中loadb116是主机名.

解决方法:

1、这时可以使用:mysql -u root -p 登录,进入到mysql后。

mysql>grant all privileges on *.* to 'root'@'loadb116'

identified by '123456' with grant option

Query OK, 0 rows affected (0.00 sec)

mysql>flush privileges

Query OK, 0 rows affected (0.00 sec)

2、在本地使用ip地址登录

# mysql -u root -p -h 192.168.5.116

Enter password:

Welcome to the MySQL monitor. Commands end with or /g.

Your MySQL connection id is 60

Server version: 5.1.45 MySQL Community Server (GPL)

Type 'help' or '/h' for help. Type '/c' to clear the buffer.

mysql>


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

原文地址: http://outofmemory.cn/sjk/9941601.html

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

发表评论

登录后才能评论

评论列表(0条)

保存