bei 发表于 2018-10-5 11:38:18

数据库mysql linux-wb

  linux 下的软件安装方式
  a.源码包(建议)
  优点
  开源,如果有足够的能力,可以修改源代码
  编译安装。更加适合自己的系统。稳定高效
  缺点
  安装步骤较多,容易出错
  编译过程时间较长

[*]先将软件包传递到服务器上。放到/usr/lcoal/src
[*]解压需要安装的源码包 # tar -zxvf
[*]切换到源码目录然后 cd
[*]配置(config/configure/bootstrap) ---编译(make/bootstrapd)----安装(make install/bootstrapd install)  配置操作主要是指定软件的安装目录、需要的依赖在什么地方、指定不需要可选依赖、配置文件的路径、通用数据存储位置等等。
  指定安装的路径: --pefix=路径
  需要依赖的路径:--with-PACKAGE 名=包所在的路径
  不需要依赖:--without-PACHAGE 名
  二进制包
  优点:包管理系统简单、只需要几个命令就可以实现包的安装,升级、查询和卸载
  缺点:经过编译、不再可以看到源代码
  使用二进制包安装lynx(一款纯命令行的浏览器)
  在光盘中就有这个包
  例如查百度 :#lynx –dump www.baidu.com
  lynx 我们可以通过它写一个计划任务。
  #yum list 查看yum可以安装的软件
  #yum search包名 搜索指定的关键词的包
  #yum remove 包名
  2、安装mysql(重点)
  #yum install mysql-server(安装服务器端)
  mysql 初始化操作
  #serivce mysql start
  #mysql_secure_installation
  #which mysql_secure_installation 查看命令在那
  看MySQL端口号
  netstat –tnlp
  mysql默认端口号   tcp3306
  三、MySQL 的基本操作(难点)
  以excel为例
  数据库:可以看作是整个Excel文件
  数据表:可以看作是一个Excel文件中的工作表
  行(记录):可以看作一个工作表中的一行
  列(字段):可以看作一个工作表中总的一列
  库操作(大小写不区分)
  show databases; 查看当前MySQL中全部的数据库
  create database 库名;创建数据库
  drop database 库名; 删除数据库
  use 库名; 切换数据库
  表操作
  show tables; 显示当前数据库中所有的表名(必须先use 数据库)
  create table 表名称 在当前数据库下创建数据表
  (
  列名称1 数据库类型 ,(不允许为空 递增一般给第一个字段加)
  列名称2 数据类型,
  列名称3 数据类型,
  …,
  PRIMARY KEY(主键字段名)
  );
  常见的数据类型:int(整型)、char(定长字符)、varchar(不定长字符)、
  主键一般就是序号所在的那一列(主键不能重复)
  desc 表名;      (描述一个数据表)查看表结构
  drop table 表名; 删除数据表[判断]
  案例:上述的语法
  查看所有的数据表
  要求 表名xg
  id字段、11为整型、不为空、自增、主键
  Username字段、varchar类型、20长度
  password 字符 、char类型
  sql(standard query language)语句:
  Create table xg(
  id int(11) not null auto_increment,
  username varchar(20),
  password char(32),
  primary key(id)
  );
  查看表结构:desc 表名
  删除数据表:drop table if exists xg;
  记录/字段操作(重点 加行数)
  增加记录
  语法1:INSERT INTO 表名称 VALUES(值1,值2…..);
  语法 2:INSERT INTO 表名称(列1,列2….) VALUES(值1,值2,…..);
  案例:往数据表xg表中新增一个记录username为zhangsan,password为123456(加密结果 )
  sql语:
  insert into xg(username,password)values(‘zhangsan’,123)
  ``表示字段 ‘’字符串必须加引号
  更新记录
  语法:update 表名称 set 列名称1 = 新值1,列名称2 = 新值2… where 列名称 = 某值;
  以后在执行影响行数操作的时候,一定需要注意条件是否写错或者漏写。
  案例:使用更新语句去更新id大于等于2的记录。将其密码改为456

  sql语句:update xg set password=’456’ where>  查询记录
  select 列名称1,列名称2…. from 表名称 where 条件;
  select from 表名称 where 条件;
  案例:查询刚才新增的记录
  只查询用户名和密码,并且是id =2的。

  select username,password from xg where>  查询全部
  selectfrom xg;
  删除记录
  delete from 表名 where 列名称 =值;
  案例:删除id为2的记录。

  delete from xg where>  索引一直都在的。
  备份与还原(重点)
  全量(全部)备份:(数据+结构):
  #mysqldump –uroot –p 12345 –A > 备份文件路径(数据+结构)
  指定库备份(数据+结构)
  #mysqldump –uroot –p 12345 库名> 备份文件路径
  多个库备份(数据+结构)
  #mysqldump –uroot –p 12345 --databases db1 db2 > 备份文件路径
  文件格式xxxx.sql
  案例:每分钟自动备份1次test数据库
  mkfile test19.sh
  #!/bin/bash
  filename=”test”_date+’%Y%m%d%H%M’”.sql”
  mysqlsump –uroot –p 密码 test > /root/$filename
  crontab –e

[*]

[*]

[*]

[*]/root/test19.sh



  还原数据
  设置Mysql 连接字符集:
  Mysql>set name utf8; [三码一致] 服务器端 +传输过程中+客户端
  远程登陆终端连接数据库
  MySQL的远程管理工具
  分为两大类:B/S 架构 、C/S 架构
  B/S: B是指浏览器,S是服务器 例如:百度
  C/S: C 是客户端,S是服务器 例如:QQ 、电脑端微信
  软件为:Navicat 、mysql workbrach
  要解决的问题要允许MySQL远程登陆。
  将其中一个记录的host改为% 表示可以在任意地址登陆
  update user set host = ‘%’ where host = ‘yunwei’;
  成功后
  刷新权限表或者重启MySQL
  flush privileges;

页: [1]
查看完整版本: 数据库mysql linux-wb