> 文章列表 > Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录

Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录

Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录

命令行登录

mysql 命令登录数据库

语法 mysql -u用户名 -p密码 -h 连接的数据库服务器的ip [-D] 数据库名 -p 端口

: 上面的 mysql 命令是指的是 客户端的指令 ~!!

-h : 指的就是 连接数据库服务器的 ip

没有指定 -h 的时候,那指的就是连接本地,本地就是 localhost ~!!

在上一节讲的修改密码,也会发现是 用户名@localhost

再例如 :

Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录

上示表能展现的就是 表中的表头所显示的那样( user - 用户名; host - 主机服务器)

也就是说 对于当前数据库中的root 用户来说,只能被 localhost的主机服务器才能连上当

前数据库~!

那么所谓的 localhost 也就是本机 ( 它当然是有自己的 ip 的)

-D : 就是你可以登录你想指定的数据库名 ( 也可以省略-D 选项 )

-P : 我们一般的数据库的端口是 3306

如果数据库不是 3306 端口的话,那就使用 -p 选项来指定~!!

该选项一般也是省略的~!!

至此,综上,我们如果使用完整的语句来登录的话就是下示 :

[root@bogon ~]# mysql -uroot -pRoot123! -h localhost -D mysql -P 3306
Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录

这呢就使用 完整的登录语句就 登进来了 ~!!

: ✊ 上示命令还需要强调的一点是 :

上面的 -h localhost ~!!!!

我们不是说 localhost 指的是本机的 IP 嘛,那我就不写 localhost了,

我直接 -h 192.***.***.***( 自己的 IP ) 不就行了嘛

你 localhost 指的就是 自己的本地IP ,那我不想写 localhost 就想写 IP 不行吗??

===>>>

不行~!!!!!!!!!!!!

这个还是跟上面其中的一个示例截图有关的~!!👇

Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录

这是与上示的内容有关的(主要是 user 和 host 列),因为上示文件就已经指定好了。

上示的root用户 指定的host 就是 localhost ,所以当你登录的时候就必须也得使用

localhost, 不管是你自己连自己,还是别人连你的数据库,都得是 localhost ~!!!!

那我们就不能使用 IP 登了吗???

===>>>

当然可以,结合下面讲的 远程登录来看,里面便解答了这一问题

OK , 那现在我们使用完整版的语句登录进来了,我们不妨操作一下 mysql 语句来浅浅练习一下吧

查看数据库版本

Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录

查看当前使用的数据库

Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录

查看使用哪种方式登录的数据库

Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录

配置数据库的 root 用户远程登录

# 那我们想要远程登录,该怎么登录呢??

===>>>

那还是和上面截图的那张表有关 :

Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录

看这个表呢,就是能展示出 用户在登录数据的时候,是通过什么方式来登录的!!

上表显示就是 :

mysql.infoschema 用户 , mysql.session 用户 ,mysql.sys 用户 root 用户

这几个用户都是通过 连接 localhost 本地服务器的方式来登录数据库的~!!

这点很重要~!!!!!

# 先来解释下这几个用户的作用,主要是干什么的 ( 了解下 )

用户 作用


mysql.infoschema 系统用户,管理和访问系统自带的information_schema数据库

mysql.session mysql 的插件将会使用该用户访问 mysql 数据库服务器,客户

端不能直接使用该用户进行连接

mysql.sys 该用户避免数据库管理员重命名或者删除root 用户时发生的问

题客户端不能直接使用该用户进行连接

root mysql 的超级用户,用于管理 mysql 数据库,拥有所有权限,

可执行任何操作,不建议使用该用户操作数据库

# 那现在我们来解决 远程登录的问题 :

===>>>

我们上面说了,主要还是那个表里的东西,要实现远程登录,那就得解决登录问题,

也就是那张表里的 host 表头 那列, 原本表里的 host 全是 localhost ,就是说那张表

里的所有用户只能实现本机连接( localhost 就是本机 ) 就是说 你别的 IP 根本就没

法连接。

那我们所谓的远程连接实际上指的就是 使用别的 IP 来连接你,而你现在的 host 又是

localhost ,那怎么办 ??

===>>>

我们需要修改 host 列中的 localhost , 将其变为 %

' % ' 代表的是 所有IP ; 即 所有的 IP 都可以连接数据库 ~!

这样就实现了 数据库的远程登录~!!!!!!

# 实现数据库远程登录的 代码操作 :

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

直接执行命令, 命令含义就是 更新 mysql 数据库里的 user 表, 设置表里的 host 为 ' % '

当用户是 root 的时候 ~!!!

mysql> flush privileges;

接着更新下 权限 即可~!!!

再查看下 :

mysql> select user,host from mysql.user;
Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录

可以发现 root 用户所对应的 host 已经变为 % 了

验证下

我们现在验证下,看看使用 IP 登录能不能登陆的上 ( 我们先用本机 IP 验证下,只要

IP能够登陆成功,那么其它 IP 也是可以的,也就说明了 可以进行 远程登陆了~!!

===>>>

[root@bogon mysql_BenDi]# mysql -uroot -pRoot123! -h 192.168.153.128 -D mysql
Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录

显然,我们使用 IP 登录,这就登陆进来了~!!!!

图形化界面登录

# 我们前面讲了 命令行方式来登录数据库,现在来看看 图形化登录的方式 。

# 其实所谓,使用图形化界面登录,其实,登陆的那个数据库还是我们 Linux 上安装搭建的那个数

据库,只不过这个图形化界面是在 Windows 上,而我们的数据库服务器是在 Linux 上,也就是

说,使用 Windows 上的图形化工具,来连接 安装部署在 Linux 上的数据库 继而 登录数据库 。

# 那现在我们要使用 Windows 上的图形化工具去连接 Linux 上的数据库, 那问题就来了,

我们要连接,Linux 上的数据库,人家就给连接嘛 ??

===>>>

当然不行了,你Windows 主机有权限访问嘛 ??

当然是不行的,是没有权限的。

那在哪里修改这个权限呢 ??

===>>>

其实,这个就和本篇上面讲的那个 远程登录是一样的,

你想想,Windows 访问 Linux ,这不就跟远程登录是类似的嘛。

===>>>

因此,我们所说的修改权限,其实就是 在 Linux 上 把那张表,就是显示数据库登陆方式的

那张表( user 和 host ) 将 root 用户所对应的 host 由 localhost 修改为 % 即可~!!!

具体操作我们上面已经讲清楚了,就不再赘述了~!!

# 我们使用的 Windows 的图形界面工具是 Navicat 工具,还有其他图形化工具,

登录的道理都是 一样的。

具体操作

# 打开 navicat 工具 ,点击连接,选择 mysql 数据库

Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录

# 输入相关信息,完成后 确定即可。

Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录

: 连接名是随便起就行 。

主机,输入的是 Linux 数据库搭建的那台主机的 IP 。

密码就是 Linux 上 root 用户所对应的密码 ( 你自己设置的 )

三个信息填写正确后便连接成功,可以通过 图形化工具来 使用数据库了~!!

===>>>

Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录