发表于: 2017-02-22 17:22:56

6 2203


今天完成的事情:mysql 安装部署,使用,熟悉sql的数据备份(不只是数据的导入,还有表结构导入),索引的区别(hash与btree)。 

明天计划的事情:11-18项
遇到的问题:启动mysql的困难,需要管理员启动 
收获:mysql绿色版安装,索引的区别(什么情况使用什么)以及重要性,对业务的分析要细致.




安装mysql搭建部署内容:

  流程就当做记录:

           mysql下载官方https://dev.mysql.com/downloads/file/?id=467269

           版本:5.7.1

           此版本是绿色版

  安装过程如下:

          1、配置环境变量:

          


         2、修改文件加下my-default.ini 命名为:my.ini     

           # 设置mysql的安装目录

           basedir=C:/Users/lkx/Downloads/mysql-5.7.17-winx64/mysql-5.7.17-winx64

           datadir=C:/Users/lkx/Downloads/mysql-5.7.17-winx64/mysql-5.7.17-winx64/data 

           port=3306

           socket=/tmp/mysql.sock

           # 设置mysql服务器的字符集

           default-character-set=gbk

           skip-locking

           key_buffer=16K

           max_allowed_packet=1M

           table_cache=4

           sort_buffer_size=64K

           read_buffer_size=256K

           read_rnd_buffer_size=256K

           net_buffer_length=2K

           thread_stack=64K

           [client] 

           password=82534721

           port=3306

           socket=/tmp/mysql.sock

           default-character-set=gbk

执行cmd.exe 命令  mysqld --install MySQL --defaults-file="C:/Users/lkx/Downloads/mysql-5.7.17-winx64/mysql-5.7.17-winx64\my.ini"

Install/Remove of the Service Denied! 这个问题:使用管理员权限打开cmd.exe


启动mysql服务 net start MySQL

                              

                              net stop MySQL

 设置新密码:mysqladmin -u root -p password root 

 更改密码:mysqladmin -u root -p root password root123

 删除服务:mysqld --remove MySQL     

 在cmd中输入并运行命令:mysql -u root -p,然后输入相应的密码

 远程链接:mysql -h 219.243.79.8 -u root -p 123。                          

 

增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用root用户连入MYSQL,然后键入以下命令:                 

grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

本机用户

grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;



报名贴的业务表:

      我认为报名贴应该有 课程与学员两张表,包含内容课程对应多个学生的关系,课程表设计字段如下:

课程对象

包含:课程往期名称  

    报名状态

    总名额

    学生ID

    宣讲内容

    创建时间

    更新时间

    创建人

    

学生设计字段如下:

包含:学生的ID

    姓名

    QQ

    类型

    入学时间

    毕业院校

    学号

    内容

    推荐人

    创建时间

    更新时间

    创建人

通过姓名进行查询:

分别用Navcat和Sql语句去将本条数据记录的报名宣言改成老大最帅:

将表导出成Sql文件,并使用navcat和Sql分别尝试删除此条数据,并用之前备份的Sql恢复:完成


Mysql索引:

      1、hash索引

      2、btree索引


 hash与btree 区别:

            1、hash检索效率更高,查询速度快。查询索引高于btree。

            hash局限于:

                   1、只能应用等值= ,in 《=》 这种,不适用于范围性查询。

                   2、因为是hash值,无法避免不能进行排序。

                   3、不能进行组合使用

                   4、Hash 索引在任何时候都不能避免表扫描

                                              5、hash 大量相等的hash值相等,不一定比btree快

           b-tree:

           如 Innodb 存储引擎的 B-Tree 索引实际使用的存储结构实际上是 B+Tree ,也就是在 B-Tree 数据结构的基础上做了很小的改造,在每一个 
Leaf Node 上面出了存放索引键的相关信息之外,还存储了指向与该 Leaf Node 相邻的后一个 LeafNode 的指针信息,这主要是为了加快检索多个相邻 Leaf Node 的效率考虑。


除了给名字做索引,也可以把ID进行索引.





















返回列表 返回列表
评论

    分享到