linux学习-----数据库MySQL

数据库

1.什么是数据库

如果一个项目是动态内容 数据库是必须的

2.MySQL

是一个关系型数据库管理系统    最流行的数据库管理系统之一

在web应用上MySQL是最好的   和php是黄金搭档(LAMP  LNMP)

3.常见其他数据库软件

Oracle(重量级)    MS      SQL Server

4.linux下的软件安装方法(初步)

  1.源码包(依赖少 安装时间短)

  优点:开源 可以修改源代码

  编译安装 适合自己的系统 稳定性高

  缺点:安装步骤多 容易出错

  编译过程时间长

  案例 使用源码编译安装方式安装ncurses(常用的一个终端库)

  步骤:

    1.将软件包传递到服务器之上----------------上传到服务器/usr/local/src/

    2.解压需要安装的源码包

         tar -zxvf *.tar.gz--------------------------tar -zxvf nurses-6.1.tar.gz

         tar -jxvf *tar.bz2

    3.切换到源码目录

        配置(config/configure/bootstrap)----------./configure --prefix=/usr/local/ncurses

          编译(make/bootstrapd)-------------------make

          安装(make install/bootstrpd install)----------make install

     配置操作主要指定软件的安装路径 需要依赖在什么敌方 指定不需要可选依赖,配置文件的路径 通用数据存储位置等等

    指定安装的路径: --prefix=路径

    需要依赖的路径:--with-PACKAGE名=包所在路径

    不需要依赖:--without-PACKAGE名

  2.二进制包

  优点:包管理系统简单 只需要几个命令就可以实现包的安装 升级 查询和卸载

  缺点:经过编译 不再可以看到源码

  回顾rpm指令

    rpm -qa|grep  关键词

    rpm -e 关键词 [--nodeps]

    rpm -ivh 完整名称

    rpm -Uvh 完整名称

    rpm -qf 文件路径        查询指定文件属于哪么包

    案例:使用二进制包安装lynx(一款纯命令行的浏览器)

    在光盘中就有这个包

    lsblk 查看光盘是否挂载

     

    安装好之后 查看网页------------------------   lynx –dump 网站地址

  3.yum安装

  优点:安装简单快捷

  缺点:完全丧失自定义性

  yum list   ---------------------列出当前已经装的 和可以装的软件

  yum search 名   ---------------搜索指定额度关键词的包

  yum [-y] install 包名  -----------安装指定的包(-y表示允许不再确认)

  yum [-y] update [包名]  ----------更新指定的包 不指定包则更新全部软件

  yum [-y] remove 包名  ----------卸载指定的包

5.安装MySQL

  1.MySQL安装

    yum install mysql-server

  2.MySQL初始化

    service mysqld start

    netstat -thlp           查看数据库端口号 3306

    mysql_secure_installation

    输入mysql的root用户密码

  3.MySQL的启动

    域名:service mysqld start

    进入mysql方式--------------------mysql -u 用户名 -p

    然后输入密码 就进入啦

    退出命令:------------------------exit

   4.默认目录/文件位置

    数据库存储目录:   /var/lib/mysql

    配置文件:   /etc/my.cnf

  6.MySQL的基本操作

    1.名词介绍:

    以excal为例

    数据库:可以看作是整个excal

    数据表:可以看作excal中的工作表

    行(记录):可以看作是一个工作表中的一行

    列(字段):可以看作是一个工作表中的一列

  2.库操作:

    以下命令在MySQL终端命令行中执行

    SHOW DATABASES;         显示当前MySQL中全部的数据库

    CREATE DATABASE 库名            创建一个数据库

    DROP database 库名               删除一个数据库

    use 库名                          切换数据库

  3.表操作

    1.show tables                      显示当前数据库中所有的表名(必须先use 数据库)

    2.create table 表名称

    (列名称1 数据类型【NOT NULL AUTO_INCREMENT】,

                                   列名称2 数据类型,

                                   列名称2 数据类型

                                   。。。

                                   PRIMARY KEY(主键字段名));

    3.desc 表名                        表示描述一个数据表(查看表结构)

    4. drop table【if existed】表名        删除数据表   

  4.记录/字段操作

    1.增加记录

      insert into 表名称 values(值1,值2.。。。。。)

      insert into 表名称(列1,列2.。。)values(值1,值2.。。。);

    2.查询记录

      select 列名称1,列名称2 from 表名称 where 条件;    查询指定字段

      select * from 表名称 where 条件;                    查询全部字段

    3.更新记录

      update 表名称 set 列名称1=新值1,列名称2=新值2.。。。。。。 where 条件;

      以后在执行行数的sql操作的时候注意条件的书写

    4.删除操作

      delete from 表名称 where 列名称=值;

    5.备份与还原

      1.备份

        全量备份(数据+结构):  mysqldump -uroot -p123456 -A >备份文件路径

        指定库备份(数据+结构):mysqldump -uroot -p123456 库名>备份文件路径

        多个库备份(数据+结构):mysqldump -uroot -p123456 --databases db1 db2>备份文件路径

        案例:每分钟自动备份一次数据库

          1.创建shell脚本(touch test19.sh---àvim test19.sh)

            #!/bin/bash

            filename=“test_” data+’%Y%m%d%H%M%S’ “.sql”

            mysqldump -uroot -p123456 test>/root/$filename

          2.编写任务计划(crontab -e)

            ***** /root/test19.sh

      2.还原:

      还原部分分为mysql命令行sourse方法和 系统命令行方法

        1.还原全部数据库

              1.mysql命令行:mysql> source 备份文件路径

              2.系统命令行:mysql -uroot -p123456 <备份文件路径

        2.还原单个数据库(需要指定数据库)

          1.mysql>use 库名

           mysql> sourse 备份文件路径

          2.mysql -uroot -p123456 库名<备份文件路径

          3.还原单个数据库的多个表(需指定数据库)

                 1.mysql>use 库名

                       mysql>source 备份文件路径

                 2.mysql -uroot -p123456 库名<备份文件路径

          4.还原多个数据库(一个备份文件里有多个数据库的备份 此时不需要指定数据库)

               1.mysql命令行: mysql>source 备份文件路径

                 2.系统命令行:mysql -uroot -p123456 < 备份文件路径

          5.设置mysql连接字符集

            mysql>set names utf-8;

拓展

使用远程终端连接数据库

  1.mysql的远程管理工具

    分为两类 :   B/S架构    浏览器和服务器   如百度搜索应用

          C/S架构    客户端和服务器   如应用程序

  在BS中 mysql有一个典型的管理工具: PMA(phpMyAdmin)

  在CS中有个比较典型的软件:Navicat     mysql workbrach

2.Navicat使用步骤

  1.关闭防火墙:----service iptables stop

  2.打开Navicat    连接MySQL 输入连接名 ip地址 端口号 用户名 密码

         要解决问题 :允许MySQL远程登陆

           1.进入数据库

      2.执行sql语句:-------   select host,user from user;

      3.将其中的一个host值改为“%” 表示可以允许任何地方登陆

          ------updata user set host =“%” where host=“主机名” ;

           4.刷新权限表(mysql> flush privileges)   或者重启MySQL

原文地址:https://www.cnblogs.com/xixirui/p/9221914.html