zeuux-universe  - 讨论区

标题:[zeuux-universe] 提交文档《学习 MySQL》

2008年05月30日 星期五 19:48

Jianjun Kong kongjianjun在gmail.com
星期五 五月 30 19:48:45 CST 2008

 我写了一个《学习 MySQL》的文档,html文件见附件。希望大家指错、完善!谢谢。

--
learning-mysql.html
-- 
{ Jianjun Kong | www.kongove.cn | Happy Hacking }
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://www.zeuux.org/pipermail/zeuux-universe/attachments/20080530/d2596c24/attachment-0001.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2008年05月30日 星期五 21:57

Xia Qingran qingran在zeuux.org
星期五 五月 30 21:57:06 CST 2008

hoho
非常感谢!!!我们期待您更多这样的文档!

Jianjun Kong wrote:
>  我写了一个《学习 MySQL》的文档,html文件见附件。希望大家指错、完善!谢谢。
>
> --
> learning-mysql.html
>   
>
> ------------------------------------------------------------------------
>
>
>   学习 MySQL
>
>
>     作者:孔建军 kongjianjun at gmail.com>
>
>
>       MySQL 介绍
>
> MySQL 是瑞典 MySQL AB 公司开发的一个完全网络化的跨平台关系型数据库系 
> 统,具有多用户、多线程、多种客户工具和API支持、低消耗、底成本、高性能 
> 等特点。她具有客户机/服务器体系结构的分布式数据库管理系统,由一个服务 
> 器守护进程 mysqld 和不同客户程序和库组成。由于其源码的开放性及稳定性, 
> 在 WEB 开发应用等方面得到了广泛使用,具有较强的竞争力和市场前景。目前 
> Internet上流行的网站构架方式是 LAMP(Linux+Apache+MySQL+PHP),即使用 
> Linux 作为操作系统,Apache 作为Web服务器,MySQL 作为数据库,PHP 作为服 
> 务器端脚本解释器。这四个软件都遵循 GPL 协议开放源代码,用户可以快速搭 
> 建一个真正稳定、免费的网站系统。
> MySQL 特征:
>
>       1.使用C和C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性
>       2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、
>       OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统
>       3.为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、
>       Java、Perl、PHP、Python、Ruby和Tcl等
>       4.支持多线程,充分利用CPU资源
>       5.优化的SQL查询算法,有效地提高查询速度
>       6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能
>       够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文
>       的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
>       7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径
>       8.提供用于管理、检查、优化数据库操作的管理工具
>       9.可以处理拥有上千万条记录的大型数据库
>
> MySQL 官方网站:http://www.mysql.com/
>
>
>       运行效果
>
> kongove at ubuntu:~/Desktop/zeuux.org$ mysql -h localhost -u root -p
> Enter password: 
> Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
> mysql> use test;
> Database changed
> mysql> select * from student;
> +------+--------------+
> | id	      | name                     |
> +------+--------------+
> |    1        | XiyouLinux           | 
> +------+--------------+
> 1 rows in set (0.01 sec)
> mysql> 
>   
>
>
>       基本使用
>
>
>         安装
>
>     * Redhat 下用压缩可执行包安装 MySQL:
>       # rpm -qa|grep mysql
>       查看是否已经安装 mysql
>       # wget http://URL-OF-MySQL/mysql.tar.gz
>       下载 mysql 软件包
>       # tar xcvf mysql.tar.gz
>       解压软件包
>       # cd mysql/
>       # make
>       # make install
>       # cd scripts
>       # mysql_install_db
>       完成具体编译、安装
>     * Fedora 下通过 yum 安装 MySQL:
>     * # yum install mysql-server mysql-client mysqlversion Ubuntu 下通
>       过新利得安装 MySQL:
>       # apt-get install mysql-server mysql-client mysqlversion 
>
>
>         配置
>
>     * 启动系统时自动运行 MySQL 服务器
>       在 /etc/rc.local中添加命令行 /etc/init.d/mysql start
>     * 配置数据库用户
>       安装mysql过程中,会自动提示设置默认用户 root 的登录数据库密码
>
>
>         测试
>
> # mysqladmin version
> 查看 MySQL 服务器是否正在运行
> # mysqladmin -u root shutdown
> 测试服务器是否可以关闭
> # mysqlshow
> 显示所有数据库
> # mysqlshow $database
> 显示指定数据库中的表信息
>
>
>         基本操作
>
>     * 服务器命令:
>       #/etc/init.d/mysql start
>       启动数据库服务
>       #/etc/init.d/mysql stop
>       关闭数据库服务
>       #/etc/init.d/mysql restart
>       重启数据库服务
>       #/etc/init.d/mysql status
>       查看数据库服务状态
>       #/etc/init.d/mysql reload
>       重新加载服务
>       # /etc/init.d/mysql force-reload
>       强制重新加载服务
>     * 客户端命令选项:
>       mysql [-h $hostname] [-u $username] -p $datebasename
>       选项 	含义
>       -h $hostname 	指定数据库服务器,可以为IP地址或者域名
>       -p 	提示用户输入密码
>       -u $username 	指定用户名
>       $databasename 	指定数据库名
>
>     * 客户端内部命令:
>       命令 	简洁命令 	含义
>       ? 	(\?) 	等价于'help'
>       clear 	(\c) 	清除命令
>       connect 	(\r) 	重新连接服务器,选项参数是数据库名和主机名
>       delimiter 	(\d) 	设置定界符
>       edit 	(\e) 	采用 $EDITOR 编辑命令
>       ego 	(\G) 	向 mysql 数据库服务器发送命令,并将返回结果垂直输出
>       exit 	(\q) 	退出 mysql, 等价与 quit
>       go 	(\g) 	向数据库服务器发送命令
>       help 	(\h) 	显示此帮助信息
>       nopager 	(\n) 	紧用 PAGER,打印到标准输出
>       notee 	(\t) 	不写入输出文件
>       pager 	(\P) 	设置通过 PAGER 打印结果
>       print 	(\p) 	打印当前命令
>       prompt 	(\R) 	改变 mysql 提示模式
>       quit 	(\q) 	退出 mysql
>       rehash 	(\#) 	重新编译完成 hash
>       source 	(\.) 	执行 SQL 脚本文件,带一个文件名作为参数
>       status 	(\s) 	从服务器得到状态信息
>       system 	(\!) 	执行一个 Shell 命令
>       tee 	(\T) 	指定输出文件,添加所有信息到此文件
>       use 	(\u) 	指定别的数据库,新数据库名作为参数
>       charset 	(\C) 	转换成另一个字符编码,可能需要处理多自己编码的
>       binlog
>       warnings 	(\W) 	显示执行指令的警告信息
>       nowarning 	(\w) 	不显示执行指令的警告信息
>
>     * 常用客户端命令范例:
>       $mysql -h mysql.kongove.cn -u kong -p
>       登录数据库
>       $ mysql> show databases;
>       显示当前服务器上所有数据库
>       $ mysql> use $databasename;
>       选择使用数据库
>       $ mysql> show tables;
>       显示当前数据库中的所有表
>       $ mysql> create database $databasename;
>       创建数据库
>       $ mysql> create table $tablename(id int, name char(5), age int);
>       在当前数据库里创建表
>       $ mysql> create view $viewname as select id, name from $tablename;
>       在当前数据库里创建视图
>       $ mysql> drop table $tablename;
>       删除当前数据库里指定的表
>       $ mysql> select * from $tablename;
>       显示指定表的内容
>       $ mysql> select id, name from $tablename;
>       显示指定表中指定数据项
>       $ mysql> select * from $tablename where id>20;
>       根据条件筛选查看指定表中id号大于20的表项
>       $ mysql> select id from $tablename where age=(select age from
>       $tablename2 where name='孔建军');
>       带有比较运算符的子查询
>       $ mysql> insert into $tablename(id,name,score) values(1,'kong',100);
>       添加指定表项
>       $ mysql> update $tablename set score=99 where id=1;
>       修改指定表中满足条件表项的相关值
>       $ mysql> delete from $tablename where id=1;
>       删除满足条件的指定表项
>       $ mysql> grant select on table $tablename to $user;
>       把查询$tablename表的权利授给用户$user
>       $ mysql> grant select on table $tablename to public;
>       把对表$tablename查询的权利给所有用户
>       $ mysql> grant createtab on database $databasename to $user;
>       把在数据库$databasename中创建新表的权利授给用户$user
>       $ mysql> revoke update(id) on table $tablename from $user;
>       把用户$user更新$tablename表 id 数据项的权利收回
>
>
>       数据备份与恢复
>
>     * 备份数据库原则:
>       1. 定期实施备份;
>       2. 让服务器执行更新日志;
>       3. 使用一种传统、易理解的备份文件名机制;
>       4. 用文件系统备份用户的备份文件。
>     * 备份
>       $ mysqldump -h $hostname -u $username -p $databasename
>       >2008.5.22.sql
>       使用 mysqldump 备份整个数据库到文件2008.5.22.sql
>       $ cp -r $datadir/$databasename /usr/archive/mysql/
>       直接复制数据库进行数据备份
>     * 还原
>       $ mysql> source 2008.5.22.sql
>       使用备份文件还原数据库
>       $ mysql -u root -h mysql.kongove.cn -p $databasename <2008.5.22.sql
>       使用备份文件还原指定数据库
>
>
>       数据库连接
>
>     * PHP连接 MySQL 数据库
>       $db['host'] = "222.24.20.86";
>       $db['user'] = "kong";
>       $db['pass'] = "passwrod";
>       $db['database'] = "kong_database";
>       $db['table'] = "kong_table";
>       #连接数据库
>       ql_connect($db['host'],$db['user'],$db['pass']);
>       mysql_select_db($db['database']);
>       mysql_query($sql);
>       #插入数据项
>       $sql = "insert into ".$table." (id,user_name,user_info,head_type,hide,message,ip,time,reply,
>       reply_time) values(null,'$user_name','$user_info','$head_type','$hide','$message','$ip','$time',null,null);";
>       $result = mysql_query($sql);
>       #筛选查询
>       $sql = "select * from $table order by id desc limit $start_msg,$max_msg;";
>       $result = mysql_query($sql);
>           
>     * Jsp 连接 MySQL 数据库
>       String url ="jdbc:mysql://localhost/softforum?user=soft&password;=soft1234&useUnicode;=true&characterEncoding;=8859_1"
>       Connection conn= DriverManager.getConnection(url);
>       Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
>       String sql="select * from test";
>       ResultSet rs=stmt.executeQuery(sql); 
>           
>     * C语言连接 MySQL 数据库
>       MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd,
>       const char *db, unsigned int port, const char *unix_socket, unsigned int client_flag)
>           
>
>
>       图形管理工具
>
> phpMyAdmin、mysql-admin、MySQL Administrator、MySQL Query Browser、 
> phpMyBackupPro 等都是不错的图形化管理数据库工具,可以方便的进行数据库 
> 各项管理、维护操作。
> phpMyAdmin 可以通过 web 界面,使用 http 方式来进行连接管理,用户在浏览 
> 器即可完成管理任务,不需要特殊软件环境。Web 服务器端必须支持php解析功 
> 能。在Web服务器端配置好 apache 和 php ,下载 phpadmin,解压到 apache 
> 能够访问的一个目录中。修改phpadmin/config.inc.php文件,其中主要是对 
> mysql连接方式,连接路径以及用户名密码的设置。然后运行访问 index.php 进 
> 入管理页面。
> MySQL Administrator、MySQL Query Browser、mysql-admin 是linux系统中几 
> 款数据库管理软件,其管理功能完备,配置简单。
> phpMyBackupPro 也是由 PHP 写成的,可以透过 Web 介面创建和管理数据库。 
> 它可以创建伪 cronjobs,可以用来自动在某个时间或周期备份MySQL 数据库。
>
>
>       总结
>
>
>       参考资料
>
>     * MySQL 官方参考手册 <http://dev.mysql.com/doc/>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> zeuux-press mailing list
> zeuux-press at zeuux.org
> http://www.zeuux.org/mailman/listinfo/zeuux-press
>   


-- 
夏清然
Xia Qingran
qingran at zeuux.org


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号