• 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

  • 相关阅读:
    linux下RTP编程(使用JRTPLIB)(转)
    omap 移植qt4.7.0
    mknod指令详解
    mplayer 在线播放错误
    移植Mplayer到OK6410开发板
    海量数据处理算法—Bit-Map
    海量数据面试题----分而治之/hash映射 + hash统计 + 堆/快速/归并排序
    并行、并发、同步和互斥
    阿里巴巴集团2014年校园招聘北京笔试题
    动态规划之矩阵连乘
  • 原文地址:https://www.cnblogs.com/xixirui/p/9221914.html
Copyright © 2020-2023  润新知