如何学习MySQL.ppt

上传人:sccc 文档编号:5485571 上传时间:2023-07-12 格式:PPT 页数:29 大小:586.05KB
返回 下载 相关 举报
如何学习MySQL.ppt_第1页
第1页 / 共29页
如何学习MySQL.ppt_第2页
第2页 / 共29页
如何学习MySQL.ppt_第3页
第3页 / 共29页
如何学习MySQL.ppt_第4页
第4页 / 共29页
如何学习MySQL.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《如何学习MySQL.ppt》由会员分享,可在线阅读,更多相关《如何学习MySQL.ppt(29页珍藏版)》请在三一办公上搜索。

1、MySQL in action,主要内容,MySQL介绍MySQL的安装部署MySQL的编程接口MySQL的数据存储MySQL的存储引擎,MySQL简介,关系数据库,支持当前的sql标准。开放源代码,采用C/C+实现,遵循GPL协议。支持目前的多种操作系统。支持作为单独的C/S服务器模式运行,也支持作为嵌入式数据库运行。提供了多种语言的API:C,JAVA,PHP等等。提供了多种连接方式:mysqlclient,odbc,jdbc支持用户定制的存储引擎。MySQL原来由瑞典MySQL AB推出,该公司2008年被SUN收购。,ppt主体内容组织,通过一个学生管理系统的实现,来讲述MySQL的安

2、装部署,编程接口,数据的存储,定制存储引擎。,学生管理系统的数据表设计,在学生管理系统,表的设计如下:Student(s_id,s_name,sex,major_id,age)primary key:s_idCourse(c_id,c_name,credit)primary key:c_id,c_nameChose_course(s_id,c_id,grade)primary key:sid,c_id,MySQL的安装部署,源代码编译安装比较费时间,而且需要配置好相关的编译环境:在linux下面,比较简单,需要gcc make等;而windows下面需要交叉编译工具,例如mingw,cigwi

3、n等。适合做深入的开发。较少对编译代码进行优化。直接下载官网上的二进制包进行安装直接可以部署后运行,官方对编译的代码做了足够的优化。,Linux下源代码编译安装,#bin/bash tar-zvxf mysql-5.1.0.tar.gz cd mysql-5.1.0./configure-prefix=/usr/local/mysql make make install groupadd mysql useradd-g mysql mysql cd/usr/local/mysqlcp support-files/my-f/etc/f chown-R mysql.chgrp-R mysql.sc

4、ripts/mysql_install_db-user=mysql chown-R root.chown-R mysql data,安装包下目录说明,bin:存放mysql的一系列可执行程序,管理工具data:存放mysql的物理表数据以及日志文件等Include:头文件lib:库文件doc:文档man:帮助文件support_file:可选的配置文件share:共享连接库。(余下的不是重点,有兴趣的可以了解),配置文件(f)内容,clientpassword=pwdport=3306socket=/usr/local/mysql/mysql.sockdefault-character-set

5、=utf8mysqlddatadir=/usr/local/mysql/dataport=3306socket=/usr/local/mysql/mysql.sockkey_buffer=256Mbulk_insert_buffer_size=33554432sort_buffer_size=1Mread_buffer_size=1Mread_rnd_buffer_size=4Mthread_cache_size=8Mquery_cache_size=16Mdefault-character-set=utf8init_connect=SET NAMES utf8thread_concurren

6、cy=16tmpdir=/usr/mysql/tmp,环境变量,查看环境变量查看配置文件连接mysql,使用命令SHOW VARIABLES 修改环境变量永久性修改:直接编辑f,重启mysql。暂时性修改:修改全局有效变量:启动mysqld的时候,将变量作为参数输入,例如./mysqld-key_buffer_size=16M;或是以管理员身份用客户端连接mysql,使用如下命令:set global key_buffer_size=16M。只对mysql的本次运行有效修改session变量:set session key_buffer_size=16M。这个只对该客户端的本次连接有效,Mys

7、ql的启动,启动方式service mysqld start/usr/local/mysql/bin/mysqld&/usr/local/mysql/bin/mysqld_safe user=mysql&两种无密码启动mysql方式:safe_mysqld-skip-grant-tables&mysqld-skip-grant-tables&然后可以使用root的身份登录mysql。如何验证mysql已经运行起来:ps aux|grep mysqld,Mysql的关闭,关闭service mysqld uroot-ppwd stopmysqladmin uroot-ppwd shutdownk

8、ill-9 mysqld_pid(比较野蛮,可能丢失缓存中未写回硬盘的数据)Killall-9 mysqld(也比较野蛮,。),配置mysql的访问控制,shell mysql-user=root mysqlmysql GRANT ALL PRIVILEGES ON*.*TO root10.61.0.234IDENTIFIED BY pwd WITH GRANT OPTION;(root在10.61.0.234上用密码pwd访问)mysql GRANT ALL PRIVILEGES ON*.*TO tomlocalhost IDENTIFIED BY pwd WITH GRANT OPTION

9、;(tom在本机上使用密码pwd访问)mysql GRANT ALL PRIVILEGES ON*.*TO tom%IDENTIFIED BY pwd WITH GRANT OPTION;(tom在任何一台机器上使用密码pwd访问)mysql GRANT ALL PRIVILEGES ON*.*TO jerry10.61.0.*IDENTIFIED BY pwd WITH GRANT OPTION;(jerry只能在子网内通过密码pwd访问),Mysql 编程接口,JDBC java通用的数据库接口,可移植性好。ODBC C语言中广泛采用的数据库接口,具有一定可移植性。mysqlclient

10、mysql自带的编程接口,采用C实现,效率比较高。其他脚本语言的访问接口,例如PHP Perl等。,为系统选择架构,B/S L/WAMP:Linux/Windows+Apache+MySQL+PHPTomcat+mysql+jspC/SClient+Server.连接数据库:JDBC/odbc/mysqlcient/Mysql的运行方式:单独作为服务器进程,或是作为嵌入式数据库嵌入到server进程中。,Mysql数据存储,元数据Information_schema:以表的形式,描述column table,scheme,views等等。Mysql:以表的形式描述访问控制信息,例如user 包

11、含了用户的访问权限信息。用户数据 用户的实际数据存放于配置文件中datadir指定的目录下面,每个用户的database对应一个该目录下的子目录,每张表对应下面的若干个文件,数据库的支持的文件的大小直接受到操作系统支持的文件的大小的限制,例如一般32位的机器上的mysql支持的表的大小为2G,可以通过show tables status查看当前表的大小。另外,元数据没有实际的存放目录,当mysql的服务运行时才可见。,Mysql的体系架构,插件式存储引擎架构 插件式存储引擎体系结构,为应对不同的应用提供了更大的灵活性,使得开发人员可以针对不同的需求,指定相应的存储引擎(或是为特定的需要而开发定

12、制的存储引擎)。,Client:odbc,jdbc,mysqlclient,PHP,so on.,Connection/thread handling,myisam,ndb,bdb,innodb,cache,parser,optimizer,存储引擎的特性,事务锁粒度:记录级,页级索引类型:hash,B-Tree全文索引缓存:索引缓存,数据缓存外键支持,存储引擎比较,常用存储引擎,MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一 InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。BDB:可替代InnoDB的事务引擎

13、,支持COMMIT、ROLLBACK和其他事务特性。Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。,常用存储引擎(续),Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。Federated:能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集成环境。Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。比较消耗内存,数据全部存储在内存中。可以将查找的效率提供若

14、干数量级!,存储引擎和表,为表指定存储引擎 mysqlcreate table Student(s_id int,s_name varchar(20),sex int,major_id int,age int,primary key(s_id)ENGINE=innodb;插入定制存储引擎mysqlINSTALL PLUGIN my_school SONAME ha_school.so;为表转换存储引擎mysqlALTER TABLE student ENGINE=my_school;拔出定制存储引擎mysqlUNINSTALL PLUGIN my_school;,索引,Hash索引无序索引,适

15、合单值查找。B-tree索引有序索引,适合有序范围查找。,Mysql5.1的新特性,Partition:对数据水平分片,支持大数据。mysqlcreate table Chose_course(s_id int,c_id int,grade int,primary key(s_id,c_id)partition by grade(partition fail value less than(60),partition normal value less than(80),partition good value less than(90),partition excellent value less than(100),),Mysql5.1新特性(续),Event 使用sql语句创建的定时任务,在指定间隔时间内执行存储过程。,总结,Mysql的安装Mysql的配置运行Mysql的编程接口Mysql的存储引擎Mysql5.1的新特性,学习mysql的资源,官网http:/http:/,感谢大家光临,希望大家共同提高!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号