0701 MySQL安装与配置、远程连接MySQL、web应用的演变

目录

  1. RDBMS
  2. MySQL的安装
  3. MySQL的配置
  4. Navicat MySQL 远程连接 MySQL
  5. 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 用户去链接数据库

    

 

5WEB应用的演变

  5.1 单机到到网络

  5.2 CS到BS

    5.2.1 CS: Client Server 客户端服务器程序 需要单独开发单独安装

    5.2.2 BS: Browser Server 用浏览器充当客户端 不许要单独开发单独安装

posted @ 2017-04-19 22:46  寻渝记  阅读(149)  评论(0)    收藏  举报