数据库定义,MySQL安装、远程连接以及常见问题

目录

什么是数据库?

MySQL安装

MySQL 连接

数据库的工作逻辑 

数据库远程连接及其常见问题

数据库的授权与登陆 


什么是数据库?

数据库(Database )是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统( RDBMS )来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。 RDBMS 即关系数据库管理系统 (Relational Database Management 的特点:
1.数据以表格的形式出现
2.每行为各种记录名称
3.每列为记录名称所对应的数据域
4.许多的 行和列组成一张表单
5.若干的表单组成 database 

  • 数据库服务器 -->包含多个数据库;
  • 数据库(datebases) --> 包含多个数据表;
  • 数据表(table)

 MySQL安装

在Linux系统(以ubuntu为例)执行命令$ sudo apt get install mysql server 版本号(例如5.6)。需要注意的是安装前先更新一下软件源以获取最新的版本号。

sudo apt-get install mysql server 版本号(如5.6)

sudo apt-get update               //更新软件源

MySQL 连接

以 root 权限登陆MySQL:

退出mysql> 命令提示窗口可以使用 exit 命令,如下所示:

 数据库的工作逻辑 

数据库远程连接及其常见问题

 利用MySQL workbench远程连接。

 连接时出现了10061的错误提示如图:

首先,服务器肯定是工作的,不然不会返回erro:10061的错误提示。也不会是客户端的问题,不然也不会从服务器返回一个错误值。这里我们查看 my.cnf文件。

输入命令:

ls /etc/mysql/    #查看my.cnf是否在这个目录下

cd /etc/mysql/    #进入该目录

sudo vim my.cnf   #打开mysql的配置文件

 这里提一下为什么要配置端口号:可以在一台物理服务器上面,同时启动多个数据库服务器,每一个监听在不同的端口上面,我们只要更改这个端口就可以多次启动。

 这里我们再说一下出现的erro:10061。

 该地址为回环地址,该地址是机器内部使用的地址,对外界使用是没有用的,所以绑定的这个IP地址是不可以对外使用的,所以链接错误。把该IP地址改为0.0.0.0,这个地址是一个任意的地址。更改完后里用命令: sudo /etc/init.d/mysql restart 重启mysql服务器。

重启之后在尝试重新连接,仍然出现错误:

 数据库服务器限制root的远程登录,看一下限制的远程登陆是在哪里修改的。

输入命令(mysql所有的命令以分号结尾):

mysql -uroot -p     #以root登陆

show databases; 

use mysql; 

show tables;

select *from user;

 

 

 可以看到对root进行了限制,只允许在本机登陆。

select Host, User from user where User='root';

 

 数据库的授权与登陆 

 可以看到对root的限制。因此我们可以创建一个用户,最好不要修改root,它的权限是最高的。

# @后面的%表示任意地址都可以登陆,by 后面跟的密码

 create user 'admin'@'%' identified by '123456'; 

select Host, User from user;                                        #查看用户

再次尝试用admin用户进行连接,就成功了! 

 登陆成功后我们可以进行命令行的输入。

 这里可以看到admin这个用户没有权限对mysql的使用,用root这个用户的权限赋予admin这个用户这个权限,这样就可以进行操作了。

mysql -uroot -p

grant select on mysql.* to 'admin'@'%';              #赋予admin用户在数据库mysql的selec权限

 现在的admin用户只有select权限,没有创建用户的权限,在创建用户的时候会报错。

/* 赋予admin所有数据库所有表的权限其中 *. 中第一个*表示数据库(.)为表,想当于现在的 admin用户拥有root 的所有权限*/

grant all privileges on *.* to 'admin'@'%';

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值