《MySQL服务器的配置与应用.ppt》由会员分享,可在线阅读,更多相关《MySQL服务器的配置与应用.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4讲 MySQL服务器的配置与应用目录n nMySQLMySQL概述概述n nMySQLMySQL的安装的安装n n创建数据库创建数据库n n创建表创建表n n插入数据插入数据n n查询数据查询数据n n更新表更新表n n删除表删除表n n使用使用showshow命令命令n n对表的其他操作对表的其他操作n n用户权限管理用户权限管理n nMySQLMySQL数据库的备份与恢复数据库的备份与恢复MySQL概述n nMySQLMySQL是一个高性能、多线程、多用户、建立在客是一个高性能、多线程、多用户、建立在客户户/服务器结构上的开源关系型数据库管理系统服务器结构上的开源关系型数据库管理系统
2、n nMySQLMySQL是世界上最受欢迎的开放源代码数据库,当是世界上最受欢迎的开放源代码数据库,当前全世界有超过前全世界有超过600600万的系统使用万的系统使用MySQLMySQLn nMySQLMySQL的官方网站为的官方网站为http:/http:/MySQL的优点n n性能高效而稳定性能高效而稳定n n开放源代码开放源代码n n多用户支持多用户支持n n可以有效地满足可以有效地满足505010001000个并发用户的访问个并发用户的访问n n开放性开放性n n支持支持ANSI SQL-99ANSI SQL-99标准,适用于多种操作系统标准,适用于多种操作系统n n广泛的应用程序支持
3、广泛的应用程序支持n n有有C C、C+C+、JavaJava、PerlPerl、PHPPHP和和PythonPython等多种客户工具和等多种客户工具和APIAPI的支持的支持n n支持事务处理、行锁定、子查询、外键和全文检索等功能支持事务处理、行锁定、子查询、外键和全文检索等功能n n支持大数据库处理支持大数据库处理n n可对某些包含可对某些包含5000000050000000个记录的数据库使用个记录的数据库使用MySQLMySQLn n有灵活且安全的权限和口令系统,并且允许对其他主机的认证有灵活且安全的权限和口令系统,并且允许对其他主机的认证MySQL的安装的安装n n查看是否安装了查看
4、是否安装了MySQLMySQLn nrpm-rpm-qaqa|grepgrep mysqlmysqln n相关软件说明相关软件说明n nmysqlmysql:客户程序和共享库:客户程序和共享库n nmysqlclientmysqlclient:开发:开发MySQLMySQL客户端程序时使用的库和头文件客户端程序时使用的库和头文件n nmysqlmysql-server-server:MySQLMySQL数据库服务器数据库服务器n nmysqlmysql-bench-bench:MySQLMySQL数据库基准和性能测试工具数据库基准和性能测试工具n nmysql-develmysql-devel
5、:开发:开发MySQLMySQL程序时使用的库和头文件程序时使用的库和头文件n nMySQLMySQL的配置文件:的配置文件:/etc/etc/fn n启动启动MySQLMySQL数据库服务器数据库服务器n nservice service mysqldmysqld start start连接数据库n n使用使用mysqlmysql命令登录命令登录MySQLMySQL数据库服务器数据库服务器n n语法:语法:mysqlmysql-h -h 主机名或主机名或IPIP地址地址 -u -u 用户名用户名-p -p 口令口令 n n例子:例子:mysqlmysql-urooturoot-p-pn n注
6、意:注意:rootroot的密码默认为空的密码默认为空创建数据库(1)n n使用使用show databasesshow databases能够查看能够查看MySQLMySQL系统中存在的数系统中存在的数据库据库创建数据库(2)n n使用使用create databasecreate database创建数据库创建数据库n n使用使用useuse命令选择数据库命令选择数据库n n删除数据库删除数据库n nMySQLMySQL drop database accounts;drop database accounts;创建表n n使用使用create tablecreate table命令创建表
7、命令创建表n n删除表删除表n nmysqlmysql drop table acc;drop table acc;创建表(2)n n查看当前数据库中的所有表查看当前数据库中的所有表创建表(3)n n使用使用describedescribe(可以缩写为(可以缩写为descdesc)命令查看表的结构)命令查看表的结构插入数据(1)n naccacc表的样例数据表的样例数据acc_idacc_idusernameusernamepasswordpasswordts ts10340331034033jsmithjsmithsmithysmithy200210141124382002101411243
8、810340551034055jdoejdoedoeydoey200210141125012002101411250110340671034067jthompsonjthompsonjames2james2200210141134032002101411340310340891034089 sstanfordsstanfordstanfordstanford20021014113407 20021014113407 10341231034123blewisblewislewislewis200210141122522002101411225210341541034154ysheetsyshee
9、tssheetssheets200210141134162002101411341610340341034034jimejimeNULLNULL200210141124152002101411241510345461034546jjmyersjjmyers NULL NULL 2002101411342220021014113422插入数据(2)n n使用使用insertinsert命令插入数据命令插入数据 n n使用使用NULLNULL值值查询数据(1)n nselectselect命令的格式命令的格式查询数据(2)查询数据(3)查询数据(4)查询数据:排序程序数据:降序查询数据:别名查询数
10、据:like(1)查询数据:like(2)查询数据n n将表的数据输出到文本文件将表的数据输出到文本文件n n行计数行计数更新数据删除数据使用show命令(1)n nshow databasesshow databases使用show命令(2)nshow tables重命名表增加列改变列定义用户权限管理n n添加用户和权限添加用户和权限n n删除权限删除权限n n修改修改MySQLMySQL管理员管理员rootroot的口令的口令添加用户(1)n n使用使用grantgrant命令添加用户命令添加用户 添加用户(2)n n权限(权限(privilegesprivileges)n nALL AL
11、L 授予用户如下的所有权限授予用户如下的所有权限n nALTER ALTER 改变表、列和索引改变表、列和索引n nCREATE CREATE 创建数据库和表创建数据库和表n nDELETE DELETE 删除表中的记录删除表中的记录n nDROP DROP 丢弃和删除表和数据库丢弃和删除表和数据库n nFILE FILE 读、写文件读、写文件n nINDEX INDEX 添加、删除索引添加、删除索引n nINSERT INSERT 向表中插入记录向表中插入记录n nPROCESS PROCESS 查看和停止系统进程查看和停止系统进程添加用户(3)n nREFERENCES REFERENCE
12、S 当前的当前的MySQLMySQL还不能使用还不能使用n nRELOAD RELOAD 使用使用FLUSHFLUSH语句语句n nSELECT SELECT 从表中查询记录从表中查询记录n nSHUTDOWN SHUTDOWN 关闭关闭MySQLMySQL数据库数据库n nUPDATE UPDATE 更新表中的记录更新表中的记录n nUSAGE USAGE 连接到连接到MySQLMySQL数据库,但是没有权限数据库,但是没有权限添加用户:例子n n例例1 1:创建口令为:创建口令为 99hjc99hjc的用户的用户johnjohn,该用户在数据,该用户在数据库库myDBmyDB的所有表都有的
13、所有表都有selectselect和和insertinsert权限,并且能够权限,并且能够从任何主机连接到数据库服务器从任何主机连接到数据库服务器 mysql grant select,insert on myDB.*to john”%”identified by“99hjc”;添加用户:例子n n例例2 2:添加口令为:添加口令为45sdg1145sdg11的用户的用户janejane,该用户在数据该用户在数据库库myCompanymyCompany的表的表employeesemployees上具有上具有ALLALL权限,并且权限,并且只能从特定的主机上连接数据库只能从特定的主机上连接数据库
14、 mysqlmysql grant all on grant all on myCompany.employeesmyCompany.employees to to identified by identified by“45sdg11”;“45sdg11”;n n例例3 3:mysqlmysql grant all on grant all on myCompany.employees to jane63.124.45.2 identified by“45sdg11”;回收权限n nrevokerevoke命令的语法命令的语法n n回收用户回收用户johnjohn在数据库在数据库myComp
15、anymyCompany的的insertinsert权限权限 mysql revoke insert on myDB.*from john”%”;修改修改MySQL管理员管理员root的口令的口令n n在初始安装在初始安装MySQLMySQL服务器时,管理员服务器时,管理员rootroot的密码为的密码为空空n n使用使用mysqladminmysqladmin命令修改命令修改rootroot用户的密码用户的密码n n例:将例:将rootroot用户密码改为用户密码改为kswTG23akswTG23an nmysqladminmysqladmin-u root password kswTG23
16、a-u root password kswTG23an n如果已经为如果已经为rootroot用户设置了密码,当再次修改其密用户设置了密码,当再次修改其密码时,需要使用如下格式的码时,需要使用如下格式的mysqladminmysqladmin命令命令n nmysqladminmysqladmin -u root-p password -u root-p password 新密码字符串新密码字符串MySQL数据库的备份与恢复数据库的备份与恢复n n使用使用mysqldumpmysqldump命令备份命令备份MySQLMySQL数据库数据库n ncdcd /var/lib/mysqlvar/lib
17、/mysqln nmysqldumpmysqldump -urooturoot-p-opt sales sales_bak030630.sql-p-opt sales sales_bak030630.sqln n恢复数据库恢复数据库n nmysqlmysql-urooturoot-p-pn nmysqlmysql drop database sales;drop database sales;(删除(删除salessales数据库)数据库)n nmysqlmysql use sales;use sales;(打开(打开salessales,出错),出错)n nmysqlmysql create database sales;create database sales;(重新创建数据库(重新创建数据库salessales)n nmysqlmysql q qn ncdcd/var/lib/mysqlvar/lib/mysqln nmysqlmysql-urooturoot-p sales sales_bak030630.sql-p sales use sales;use sales;n nmysqlmysql show tables;show tables;
限制150内