第一讲 My sql初步

271 views
207 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
271
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 网络数据库:数据和资源共享这两种技术结合在一起即成为在今天广泛应用的网络数据库(也叫 WEB 数据库)。它以后台数据库为基础,加上一定的前台程序,通过浏览器完成数据存储、查询等操作的系统。
  •   开源软件,
  • ACID ,指数据库事务正确执行的四个基本要素的缩写。包含:原子性 (Atomicity )、一致性( Consistency )、隔离性 ( Isolation )、持久性( Durability )。一个支持事务( Transaction )的数据库系统,必需要具有这四种特性,否则在事务过程 ( Transaction processing )当中无法保证数据的正确性,交易过程极可能达不到交易方的要求。 原子性   整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚( Rollback )到事务开始前的状态,就像这个事务从来没有执行过一样。    一致性   在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。    隔离性   两个事务的执行是互不干扰的,一个事务不可能看到其他事务运行时,中间某一时刻的数据。    持久性   在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
  • 当直接敲入 mysql 的时候遇到如下错误,说明数据库服务还未启动: D:>mysql ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
  • 第一讲 My sql初步

    1. 1. MYSQL( 一 ) 讲师:郝金利
    2. 2. 网络数据库简介 <ul><li>网络数据库( network database ) </li></ul><ul><ul><li>在网络环境中,为了提高系统的性能和可靠性,一般都采用具有“客户/服务器数据库引擎”的大型关系数据库系统。 </li></ul></ul><ul><ul><li>通常指跨越电脑在网络上创建、运行的数据库。 </li></ul></ul><ul><ul><li>目前使用较为广泛的网络数据库平台有 SQL Server 、 MySQL 、 Oracle 等。 </li></ul></ul>
    3. 3. 一、 MySQL 基础知识 <ul><li>作为开源软件的代表, MySQL 数据库随着其功能的日益完善和可靠性的不断提高,已经成为互联网平台上应用广泛的数据库软件。 </li></ul><ul><li>特别是与 Apache 和 PHP/PERL 结合,为建立基于数据库的动态网站提供了强大动力。 </li></ul>
    4. 4. 主要内容 <ul><li>MySQL 数据库管理系统概述 </li></ul><ul><li>MySQL 安装与配置 </li></ul><ul><li>MySQL 图形化工具的使用 </li></ul>
    5. 5. <ul><li>最近几年,随着 it 技术的发展,开源数据库逐渐流行; </li></ul><ul><li>和传统的商业数据库相比,开源数据库具有完全免费、源码公开、随意下载等特点,并可以用于各种商业目的。这使得开源软件被广泛应用在各个行业中,大大降低了企业的开发运营成本。 </li></ul><ul><li>MySQL 正是这些开源数据库中的杰出代表。 </li></ul>1. MY SQL 数据库管理系统概述
    6. 6. 1 ) MySQL 历史与发展 <ul><li>最早源于开源软件 mSQL ,由 David Axmark 等三个瑞典人于 20 世纪 90 年代开发的一个关系型数据库; </li></ul><ul><li>2000 年开始使用 GPL 许可协议,成为开源软件的一分子; </li></ul><ul><li>2001 年开始引入 InnoDB 存储引擎,于 2002 年正式宣布 MySQL 全面支持事务,满足 ACID 属性。 </li></ul><ul><li>2003 年, MySQL 4.0 发布,开始支持集合操作; </li></ul><ul><li>2004 年, MySQL 4.1 发布,增加对子查询的支持; </li></ul>
    7. 7. <ul><li>2005 年, MySQL 5.0 发布,增加对视图( View )、存储过程( Procedure )、触发器( Trigger )、服务器游标( Cursor )及分布式事务协议等高级特性的支持,至此, MySQL 从功能上已经具备了支持企业级应用的主要特性。 </li></ul><ul><li>在实际应用方面, LAMP ( Linux + Apache + MySQL + Perl/PHP/Python )也逐渐成了 IT 业广泛使用的 Web 应用架构。 </li></ul>
    8. 8. 2 ) MySQL 特点(对比其他数据库) <ul><li>一直坚持性能优先的原则; </li></ul><ul><ul><li>web 应用往往需要支持大量的数据和并发请求,性能常常是首要因素; </li></ul></ul><ul><li>可运行在不同操作系统平台上; </li></ul><ul><li>相对来说, MySQL 使用比较简单,管理维护相对容易; </li></ul>
    9. 9. 2. MySQL 的安装与配置 <ul><li>MySQL 的下载 </li></ul><ul><li>MySQL 的安装 </li></ul><ul><li>MySQL 的配置 </li></ul><ul><li>启动和关闭 MySQL 服务 </li></ul><ul><li>连接 MySQL 服务器 </li></ul>
    10. 10. 1 ) MySQL 的下载 <ul><li>下载网址: www.mysql.com </li></ul><ul><li>MySQL 版本类别: </li></ul><ul><ul><li>社区版( Community Server ): 自由下载、完全免费,官方不提供任何支持,适合于大多数普通用户; </li></ul></ul><ul><ul><li>企业版( Enterprise ) :收费,官方提供了更多的功能和技术支持,更适合对数据库功能和可靠性要求高的企业客户; </li></ul></ul><ul><li>MySQL 版本更新很快,目前可用 4.1 、 5.0 、 5.1 和 6.0 。其中 4.1 和 5.0 是发行版, 5.1 和 6.0 还是测试版。 </li></ul>
    11. 11. <ul><li>网址: http://dev.mysql.com/downloads/mysql/5.0.html </li></ul>
    12. 12. <ul><li>在每个版本里,还分别有 3 种类型: </li></ul><ul><ul><li>Standard :推荐大多数用户下载; </li></ul></ul><ul><ul><li>Max :除了 Standard 所有内容外,还有一些附加的新特性,这些特性没有通过正式的测试发布,主要用于提升用户的认识和体验; </li></ul></ul><ul><ul><li>Debug :和 Standard 类似,但是包括了一些调试信息,会影响系统性能,不推荐用户下载; </li></ul></ul>
    13. 13. <ul><li>对于不同的操作系统平台, MySQL 提供了相应的版本: </li></ul><ul><ul><li>Windows 平台下的 noinstall 包和图形化安装包; </li></ul></ul><ul><ul><li>Linux 平台下的 RPM 包; </li></ul></ul><ul><ul><li>…… </li></ul></ul>
    14. 14. Windows 平台
    15. 15. Linux 平台
    16. 16. Solaris 平台
    17. 17. 2 ) MySQL 的安装 <ul><li>MySQL 的安装分很多情况,以 Windows 平台和 Linux 平台为例,介绍 MySQL 在不同操作系统平台上的安装方法; </li></ul><ul><li>Windows 平台下的安装有两种: </li></ul><ul><ul><li>Noinstall :不用安装就可以直接使用,解压到 c: ; </li></ul></ul><ul><ul><li>.zip 安装包:可以通过图形化界面进行安装; </li></ul></ul>
    18. 18. Windows 平台下的安装 <ul><li>进入 MySQL 欢迎界面,选择“ Setup Type” ,选择安装类型和安装路径,选择是否“ configure the MySQL Server now” 。 </li></ul>
    19. 20. Linux 平台下的安装 <ul><li>不能用图形化的方式安装; </li></ul><ul><li>在 Linux 下的三种安装方式: </li></ul><ul><ul><li>RPM 包: Redhat Package Manage 的缩写; </li></ul></ul><ul><ul><li>二进制包 </li></ul></ul><ul><ul><li>源码包 </li></ul></ul><ul><li>MySQl 的 RPM 包包括很多套件,一般只安装 Server (服务端套件)和 Client (客户端工具)就可以了。 </li></ul>
    20. 21. <ul><li>安装 RPM 包的具体步骤: </li></ul><ul><ul><li>切换到 root 下; </li></ul></ul><ul><ul><li>安装 MySQL Server 包 ,用“ rpm -ivh < 文件名 >” ; </li></ul></ul><ul><ul><ul><li>[root @ localhost]# rpm –ivh mysql-server.rpm </li></ul></ul></ul><ul><ul><li>安装 MySQL Client 包 ,用“ rpm -ivh < 文件名 >” ; </li></ul></ul><ul><ul><ul><li>[root @ localhost]# rpm –ivh mysql-client.rpm </li></ul></ul></ul><ul><ul><li>最后运行 MySQL ,用“ mysql -uroot” </li></ul></ul><ul><ul><ul><li>[root @ localhost]# mysql -uroot </li></ul></ul></ul>
    21. 22. 3 ) MySQL 的配置 <ul><li>MySQL 安装完毕后,大多数情况下可直接启动 MySQL 服务,因为系统对所有参数都有一个默认值。 </li></ul><ul><li>如果要修改默认值,则必须要配置参数文件; </li></ul>
    22. 23. Windows 平台下的配置 <ul><li>对于 noinstall 方式下安装的 MySQL ,系统的参数配置、服务的启动关闭都需要手工在命令窗口中完成。 </li></ul><ul><li>Mysql 为用户提供了几个样例文件,文件名类似于 my-***.ini 。 </li></ul>
    23. 24. <ul><li>My-small.ini 部分内容 </li></ul><ul><li>…… </li></ul><ul><li>[client] </li></ul><ul><li>#password = your_password </li></ul><ul><li>port = 3306 </li></ul><ul><li>socket = /tmp/mysql.sock </li></ul><ul><li>[mysqld] —— ( mysql 服务器参数) </li></ul><ul><li>port = 3306 </li></ul><ul><li>socket = /tmp/mysql.sock </li></ul><ul><li>skip-locking </li></ul><ul><li>key_buffer = 16K </li></ul><ul><li>max_allowed_packet = 1M </li></ul><ul><li>table_cache = 4 </li></ul><ul><li>[mysqldump] </li></ul><ul><li>…… </li></ul>
    24. 25. <ul><li>对于图形化的安装方式, MySQL 提供了一个图形化的实例配置向导;步骤:开始->程序-> MySQL ->MySQL Server Instance Configuration Wizard ; </li></ul>
    25. 29. 4 )启动和关闭 MySQL 服务 <ul><li>MySQL 服务和 MySQL 数据库区别: </li></ul><ul><li>MySQL 服务是一系列后台进程; </li></ul><ul><li>MySQL 数据库是一系列的数据目录和数据文件; </li></ul><ul><li>MySQL 数据库必须在 MySQL 服务启动后才可以进行访问。 </li></ul>
    26. 30. <ul><li>对于 windows 图形化方式安装的 MySQL </li></ul><ul><li>可通过控制面板->管理工具->服务-> MySQL ,选择启动和关闭 MySQL 。 </li></ul><ul><li>也可以使用 dos 窗口启停 MySQL 数据库服务。 </li></ul>
    27. 31. <ul><li>通过 dos 窗口启停 MySQL 数据库服务 </li></ul><ul><li>假如安装的时候取的服务名是 mysql ,那么启停数据库服务的命令是: D:>net stop mysql The MySQL service is stopping. The MySQL service was stopped successfully. D:>net start mysql The MySQL service is starting. The MySQL service was started successfully. </li></ul>
    28. 32. <ul><li>对于 noinstall 安装的 MySQL ,可通过命令行方式: </li></ul><ul><ul><li>启动服务: mysqld --console </li></ul></ul><ul><ul><li>关闭服务: mysqladmin –uroot shutdown </li></ul></ul><ul><li>在 Linux 平台下,若是 RPM 包安装的: </li></ul><ul><ul><li>启动服务: service mysql start / restart </li></ul></ul><ul><ul><li>关闭服务: service mysql stop </li></ul></ul>
    29. 33. 5 )连接到 MySQL 服务器 <ul><li>用 MySQL 数据库做任何事情都必须与服务器连接,故启动 MySQL 服务之后,必须连接到 MySQL 服务器; </li></ul><ul><ul><li>连接到本机的 MYSQL : </li></ul></ul><ul><ul><li>输入以下命令连接到 mysql 服务器 </li></ul></ul><ul><ul><li>mysql -uroot -p </li></ul></ul>
    30. 34. <ul><ul><li>运行模式: </li></ul></ul><ul><ul><li>mysql -uroot –p </li></ul></ul><ul><ul><li>Enter password : </li></ul></ul><ul><ul><li>Mysql> </li></ul></ul><ul><ul><ul><li>其中 mysql 代表客户端命令, -u 后面跟连接的数据库用户, -p 表示需要输入密码; </li></ul></ul></ul><ul><ul><ul><li>如果数据库设置正常,并输入正确密码,将看到欢迎界面和 mysql> 提示符。 </li></ul></ul></ul>
    31. 36. <ul><li>在欢迎界面中介绍了以下几部分内容: </li></ul><ul><ul><li>命令行结束符,用;或者 g 结束; </li></ul></ul><ul><ul><li>客户端连接 id :记录 mysql 服务到目前为止的连接次数;如上例是 1 ; </li></ul></ul><ul><ul><li>Mysql 服务器的版本:本例中是“ 5.0.51a-community-nt edition” ; </li></ul></ul><ul><ul><li>通过“ help;” 或者“ h” 命令来显示帮助内容,通过“ c” 命令来清除命令行。 </li></ul></ul>
    32. 38. <ul><li>连接到远程上的 MYSQL : </li></ul><ul><ul><li>假设远程主机的 IP 为: 110.110.110.110 ,用户名为 root ,密码为 abcd123 。则键入以下命令: D:>mysql -h110.110.110.110 -uroot -pabcd123 </li></ul></ul><ul><ul><li>注: u 与 root 可以不用加空格,其它也一样。 </li></ul></ul><ul><li>退出 MYSQL 命令: </li></ul><ul><ul><li>exit (回车)或 quit (回车)或 q </li></ul></ul>
    33. 39. 3. MySQL 的图形化工具的使用 <ul><li>图形化工具是为用户提供了很大的便利,针对 MySQL 数据库,很多公司开发了自己的图形化工具,主要有: </li></ul><ul><ul><li>MySQL 公司开发的 Administrator 管理工具和 Query Brower 查询工具,针对 C/S 管理,可从 http://dev.mysql.com/downloads/gui-tools/5.0.html 下载最新版本; </li></ul></ul><ul><ul><li>phpMyAdmin 开发组开发的 web 管理工具 phpMyAdmin ,可从 http://www.phpmyadmin.net/home_page/index.php 下载最新版本; </li></ul></ul>
    34. 40. 1 ) MySQL Administrator <ul><li>MySQL Administrator 是 MySQL 为 4.0 以上版本数据库提供的可视化界面的 mysql 数据库管理控制台,可以方便地管理和操作 mysql 数据库; </li></ul><ul><li>提供的功能包括启动关闭数据库、用户管理、参数配置、数据库对象管理、备份恢复管理等。 </li></ul>
    35. 41. <ul><li>管理控制台提供的功能也可以通过 mysqladmin 或者 mysql 实现,但是 administrator 以其图形化操作的直观性和简便性受到使用者的广泛好评; </li></ul><ul><li>通过 MySQL GUI Tools 5.0mysql administrator.exe 进入登录界面,输入服务器的 ip 地址、端口号、用户名和口令,即可登录数据库,如图所示 。 </li></ul>
    36. 44. <ul><li>连接管理 </li></ul><ul><ul><li>可用来查看当前数据库连接数 </li></ul></ul><ul><li>健康检查 </li></ul><ul><ul><li>是 DBA 日常监控数据库使用情况的图形化工具,可以随时了解数据库连接的变化情况、 sql 查询执行的数量等; </li></ul></ul><ul><ul><li>如通过查看 Commands Executed 可以得到 select 、 insert 、 update 、 delete 操作执行的比例,由此判断应用的类型是以查询为主,还是以更新操作为主。 </li></ul></ul>
    37. 45. <ul><li>备份管理 </li></ul><ul><ul><li>提供了与 mysqldump 工具相似的功能,可创建备份项目;如是否需要全备份、备份的类型等; </li></ul></ul><ul><li>Catalogs </li></ul><ul><ul><li>是控制台提供的管理表、索引、视图和过程的工具,可以用来查询和修改已有的数据库对象或创建新的数据库对象,取决于连接的用户所拥有的权限。 </li></ul></ul>
    38. 47. 2 ) MySQL Query Brower <ul><li>是 MySQL 为 4.0 以上版本数据库提供的可视化界面的管理控制台,主要用于管理数据库中保存的数据,而 administrator 主要用于管理数据库的对象; </li></ul><ul><li>包括数据的查询、更新和 SQL 的优化分析; </li></ul><ul><li>此外,对于查询的返回结果,可以选择导出成 XML 、 HTML 、 EXCEL 、 CVS 等多种格式,相比命令行更灵活和方便。 </li></ul>
    39. 48. 3 ) phpMyAdmin <ul><li>phpMyAdmin (简称 PMA ),是一个用 PHP 编写的、可以通过 web 控制和操作 MySQL 数据库的工具; </li></ul><ul><li>其最突出特点是可以直接从 web 上去管理 mysql ,不需要直接在 mysql 数据库服务器上进行维护;因其功能全面、使用方便成为众多 mysql 数据库管理员维护数据库的首选工具; </li></ul><ul><li>phpMyAdmin 的功能全面,包括数据库管理、数据对象管理、数据管理、用户管理、数据导入导出等。 </li></ul>
    40. 49. <ul><li>MySQL Administrator 是 mysql 公司提供的图形化管理工具,主要用于 mysql 数据库的连接管理、备份等,可实现远程图形化管理服务器; </li></ul><ul><li>MySQL Query Brower 是 mysql 公司提供的客户端查询工具,开发和管理人员可以使用它进行数据库直接访问和统计,同时可以将查询结果在客户端导出保存; </li></ul><ul><li>phpMyAdmin 不是 mysql 公司产品,可通过 web 方式对 mysql 管理,其功能强大,许多管理员会选择使用它; </li></ul>
    41. 50. <ul><li>图形工具通常只能完成相对简单的工作,对一些复杂数据库的操作,还是需要通过命令行来执行。 </li></ul>
    42. 51. 小结 <ul><li>MySQL 数据库管理系统概述 </li></ul><ul><li>MySQL 安装与配置 </li></ul><ul><ul><li>下载、安装、配置、启停服务器、连接服务器 </li></ul></ul><ul><li>MySQL 图形化工具的使用 </li></ul><ul><ul><li>MySQL Administrator / Query Brower / phpMyAdmin </li></ul></ul>

    ×