0701 MySQL安装与配置、远程连接MySQL、web应用的演变
目录
- RDBMS
- MySQL的安装
- MySQL的配置
- Navicat MySQL 远程连接 MySQL
- web应用的演变
1 RDBMS
Relational DataBase Management System 关系型数据库管理系统
1.1 数据库
就是用存放数据的容器,这些数据时放在一张一张类似于Excel表的表中
1.2 数据库管理系统
用来管理数据库的软件
2 安装MySQL
2.1 安装
sudo apt install mysql-server
> 注意1:记住自己输入的密码
> 注意2:这条语句不仅仅帮我们安装了MySQL的服务程序 mysql-server, 还帮我们安装了MySQL的客户端程序 mysql-client
> 补充:mysql-server 和 mysql-client 的区别
mysql-server类似于QQ公司安装在他们自己公司的服务器上的一个总的应用程序;mysql-server 会在服务器启动的时候自动开启
mysql-client类似自己下载qq客户端,登陆qq的过程就是用client连接QQ公司的服务器端
mysql-server 与 mysql-client是DBMS的两个面向不同操作对象的工具。server是DBMS面向物理层次,包含存储数据的一系列机制、处理方法的集成;client是DBMS面向用户,提供一系列工具为用户所用,这些工具包括通常写的sql在内都要通过server的编译才能操作物理数据。
2.2 查看状态
sudo netstat -tap | grep mysql
也可利用方式2
sudo service mysql status

> 如果active哪一行的信息是:active(running)就表示 mysql-server 启动啦
> 如果没有启动运行,那么请用下面的命令重启 mysql-server
sudo systemctl restart mysql.service
然后再用下面的命令查看状态
sudo service mysql status
2.3 登陆客户端(客户端是安装MySQL时自动进行安装的)
mysql -u 用户名 -p
> 回车后输入 数据库密码
2.4 退出客户端
exit
3配置MySQL
安装完后需要对以下信息进行修改
字符集
校对及排序规则
监听地址
3.1 查看字符编码集 和 校对及排序规则
MySQL默认使用的是 latin-1编码(拉丁文编码)
> latin-1编码不支持中文
SHOW VARIABLES LIKE '%char%';
> 查看字符编码集的命令

> 因为我更改过配置文件,所以打钩出变成了 utf-8 编码
SHOW VARIABLES LIKE '%colla%';
> 查看校对及排序规则的命令

> 我这里也是修改配置文件过后的查询结果
> 注意:database 是关于数据库的,server 是关于服务端的
3.2 修改 字符编码集 和 校对及排序规则
MySQL的配置文件路径为
/etc/mysql/my.cnf
3.2.1 查看配置文件的属性
ll -h /etc/mysql

> 可以看出:配置文件 my.cnf 是一个软连接,拥有者是root
3.2.2 查看 my.cnf 链接到的真实文件
ll /etc/alternatives/my.cnf -->> ll /etc/mysql/my.cnf 也可以查看到

> /etc/alternatives/my.cnf 又是一个链接到 /etc/mysql/mysql.cnf 的软链接
ll /etc/mysql/mysql.cnf

> 可以看出:在不提权的情况下我们只能读取这个文件
>> 总结:my.cnf 通过一个中间链接去链接 mysql.cnf,所以my.cnf 和 mysql.cnf 等价
3.2.3 查看配置文件
cat /etc/mysql/my.cnf

> 三少有点困啦,回宿舍睡觉啦;待更新...2017年4月21日23:15:20
3.3 修改配置文件
3.3.1 备份配置文件
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.beifen

> 备份完后需要查看备份文件是否有内容

> 备份文件有内容 -->> 备份成功
3.3.2 利用 nano 进入到 my.cnf 配置文件的编辑界面

3.3.3 重启 mysql-server
每次对配置文件进行修改后都需要重启mysql-server来重新初始化应用配置;重启后还要查看mysql-server的状态

3.3.4 进入MySQL客户端,再次查看字符编码集 和 校对及排序规则
注意:查看的结果会和刚刚的一样,因为我是之前更改过配置文件的
3.5 修改监听地址
MySQL默认情况下知识允许本机访问,即:mysql-server只是监听的127.0.0.1这个地址;在配置文件中控制服务监听端口的选项是在[mysqld]下的bind-address选项
3.5.1 查看网络服务状态
sudo netstat -tap | grep mysql

> 注意:* 处应该是localhost的,因为我已经更改过配置文件,所以会变成*
> 注意2:需要添加的配置文件的内容就是(修改完记得重启mysql-server)
bind-address = 0.0.0.0
4利用 NavicatMySQL 这个数据库管理软件去远程连接数据库(NAT版本)
4.1 配置串口转发

> 三少现在有点事,晚上回来继续更新...2017年4月22日08:28:37
4.2 重启虚拟机
4.3 利用 Navicat MySQL 连接数据库

> 注意:会弹出下面的错误信息

4.4 利用 Navicat MySQL 连接数据库出现上面错误
4.4.1 原因
虽然在配置文件中添加了 bind-address = 0.0.0.0 ; 这样MySQL就可以监听所有的IP啦,但是仅仅是监听而已,并不允许IP连接到MySQL,这就是MySQL的第二重保护(即:MySQL在默认情况下是不允许被连接的)
4.4.2 解决办法
> 要点:MySQL的root用户只允许本机连接,所以我们需要创建一个MySQL用户,允许所有的IP都能够通过这个用户来连接到MySQL
create user 'fury'@'%' IDENTIFIED BY '123456'
> 创建了一个 fury 用户
grant all on *.* to 'fury'@'%'
> 将MySQL中的所有数据库的所有权限都对 fury 这个用户开放
flush privileges
> 刷新权限

> 框出来的是两个不同的用户,本机可以通过两个用户其中一个连接到MySQL;其他IP只能通过第二个用户连接MySQL
4.5 利用刚刚创建的 fury 用户去链接数据库

浙公网安备 33010602011771号