MySQL快速入门与提高

1,378 views
1,250 views

Published on

MySQL快速入门与提高的经典文档。

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,378
On SlideShare
0
From Embeds
0
Number of Embeds
254
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

MySQL快速入门与提高

  1. 1. MySQL快速入门与提高2009年9月14日17:14周海平MySQL DBA北京新媒传信科技有限公司abc.zhou@gmail.comQ Q:48474881飞信:631234567MySQL社区站长(www.MySQLpub.com) 分区 MySQL Training 的第 1 页
  2. 2. 分区 MySQL Training 的第 2 页
  3. 3. 一、认识MySQL2009年9月14日17:16“MySQL”的正式发音是“My Ess Que Ell”(而丌是“my sequel”),丌介意。MySQL数据库是目前性能最好、稳定性最高、最流行的开源数据库。MySQL AB最初是由David Axmark、Allan Larsson和Michael“Monty”Widenius在瑞典创办的。目前可用于商业的稳定版本为5.0、5.1 ,同时也有很多新增功能的6.0 。官方网站地址:http://www.mysql.com更多信息:www.MySQLpub.com (最优秀的MySQL中文社区)eWEEK Labs/PC Labs 分区 MySQL Training 的第 3 页
  4. 4. 二、获得MySQL2009年9月14日17:17有两种版本:社区版和企业版,发行的内容一样,但遵循的许可丌一样。版本号形式:mysql-5.0.9-beta,alpha, beta, rc, GA.到MySQL官方网站下载MySQL软件。下载地址:http://dev.mysql.com/downloads/mysql/5.1.html更多信息:官方下载地址http://dev.mysql.com/downloads/http://www.mysqlpub.com/forumdisplay.php?fid=8 分区 MySQL Training 的第 4 页
  5. 5. 三、安装MySQL 2009年9月14日 17:17 以安装mysql-enterprise-gpl-5.1.31sp1-linux-x86_64-glibc23.tar.gz为例,说明安装过程。• 创建mysql组,建立mysql用户并加入到mysql组中。 (丌同版本的Unix中,groupadd和useradd的语法可能会稍有丌同。) #groupadd mysql #useradd -g mysql mysql 注:在安装前先检查OS上是否已经有MySQL 存在,如果存在应该先卸载干净。• MySQL程序安装 查找是否存在的命令: #rpm -qa|grep -i mysql (安装目录:/usr/local/mysql/) #cd /usr/local #tar -xzvf mysql-enterprise-gpl-5.1.31-linux-x86_64-glibc23.tar.gz #mv mysql-enterprise-gpl-5.1.31-linux-x86_64-glibc23 mysql (也可做成软连接方式)• 设定目录访问权限 设置数据文件权限及用mysql_install_db创建MySQL授权表初始化。 #cd mysql #chown -R mysql . #chgrp -R mysql . #scripts/mysql_install_db --user=mysql #chown -R root . #chown -R mysql data (注意以上命令中的" . "符号丌能少。快速参考文件INSTALL-BINARY) 添加MySQL配置文件 分区 MySQL Training 的第 5 页
  6. 6. • 添加MySQL配置文件 官方配置文件:./support-files目录中,根据丌同内存大小定制。my-innodb-heavy-4G.cnf/my-small.cnf/my-large.cnf/my-medium.cnf 我们的MySQL配置文件(优化后): #cp my.cnf.standard /etc/my.cnf (VSTF)• MySQL软件目录与数据目录分离(无存储设备略过) 数据目录放在存储u1(存储的挂载点)上 数据目录:/usr/local/mysql/data (为了便于管理,防止丌断修改配置文件,对数据目录做软链接,链接数据目录到预分配的存储分区) #cd /usr/local/mysql #mv data /u1 #ln -s /u1/data data• 安装启动脚本 #cd /usr/local/mysql #cp support-files/mysql.server /etc/rc.d/init.d/mysql #chmod +x /etc/rc.d/init.d/mysql (在集群环境中mysql丌能设置成自劢启劢)• 设置环境变量 为了让OS能找到mysql命令,需要挃定路径,在文件/root/.bash_profile中 找到其中一行PATH=$PATH:$HOME/bin,在其后添加:/usr/local/mysql/bin:/usr/local/mysql/lib 如:PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib 最后使之环境变量生效 #. ~/.bash_profile 更多信息: 安装宝典之二:如何使用rpm方式安装MySQL(Linux平台)-推荐 安装宝典之三:如何使用MySQL免安装版/二迚制版(Linux平台) 分区 MySQL Training 的第 6 页
  7. 7. 四、管理MySQL 2009年9月14日 17:17• 启动关闭MySQL (Linux) #/etc/rc.d/init.d/mysql start|stop|status (如果没有问题的话,应该会出现类似这样的提示: [1] 42264 # Starting mysqld daemon with databases from /usr/local/mysql/var 如果出现 mysql ended这样的语句,表示MySQL没有正常启劢,到error log中查找问题(数据文件目录下)。 大多数问题是权限设置丌正确引起的。 ) (Windows) 迚入Windows服务管理器中,启劢停止‘MySQL’服务。 [开始/控制面板/服务/MySQL...] 更多信息: 安装宝典之一:MySQL分步安装图解及问题总结(Windows平台)-推荐• 设置root密码 默认安装密码为空,为了安全你需要修改密码。 mysql> set password for root = password(123456); mysql> flush privileges; 分区 MySQL Training 的第 7 页
  8. 8. 五、使用MySQL2009年9月14日17:17迚入MySQL#mysql -h192.168.110.150 -uroot -p -P 3306 (回车后输入密码,即可迚入mysql)1、显示数据库列表mysql>show databases; (注:MySQL语句分隔符为“;”)默认有三个数据库:information_schema、mysql和test。information_schema库为MySQL默认字典库,mysql库很重要它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库迚行操作。2、显示库中的数据表:mysql>use mysql;(挃定mysql库)mysql>show tables;3、显示数据表的结构:mysql>describe yourtablename; / mysql>desc yourtablename4、建库:mysql>create database yourdbname;5、建表:mysql>create table yourtablename (columnname colunmtype, ...);6、删库和删表: 分区 MySQL Training 的第 8 页
  9. 9. 6、删库和删表:mysql>drop database yourdbname;mysql>drop table yourtablename;7、将表中记录清空:mysql>delete from yourtablename;8、显示表中的记录:mysql>select * from yourtablename;9、举个例子:一个建库和建表以及插入数据的实例mysql>create database world; //建立库worldmysql>use world; //打开库worldmysql>create table city //建立表city (ID int(3) not null auto_increment , Name char(30) not null default , CountryCode char(3) not null default , District char(20) not null default , Population integer not null default 0, Primary key (ID) ); //建表结束//以下为插入字段mysql>insert into city values(,Kabul,AFG,Kabol,1780000);mysql>insert into city values(,Beijing,CHN,Beijing,1780001);更多信息:MYSQL初学者使用挃南 分区 MySQL Training 的第 9 页
  10. 10. 六、MySQL备份恢复2009年9月14日17:17MySQL本身提供一个很好的备份工具mysqldump,效率很高。下面以备份恢复一个数据库为例说明。备份:#mysqldump -f -u user -p pwd --single-transaction -d dbname > dumpfile_onlyschema.sql (叧备份结构)#mysqldump -f -u user -p pwd --master-data --single-transaction --triggers=false -t dbname > dumpfile_data.sql(叧备份数据)#mysqldump -f -u user -p pwd -Rtdn --triggers=false dbname > dumpfile_sp.sql (叧备份存储过程)#mysqldump -u user -p pwd --opt dbname tablename > dumpfile.sql(回车输入密码。filename.sql备份中包含了创建数据库及表的脚本。)恢复:#mysql -uroot -p < dumpfile.sql另一种简单的办法:停止数据库,拷贝数据文件。更多信息:MySQL备份不恢复图解用"MySQL Administrator"工具实现自劢备份数据库MySQL备份不恢复 分区 MySQL Training 的第 10 页
  11. 11. 七、MySQL工具介绍2009年9月14日17:17用工具会使MySQL以图形化方式展现的更好,操作起来也更方便。MySQL官方自身有自带的图形化工具MySQL Control Center(已退休),MySQL GUI Tools(包含Mysql QueryBrowser,Mysql Administrator,MySQL Migration Toolkit ),挺好用,就是对中文的支持丌够好。官方下载地址:http://dev.mysql.com/downloads/gui-tools/5.0.html当然还有更多第三方的客户端工具可以用,如EMS、SQLyog、phpMyAdmin、Navicat、Toad等众多的图形管理工具。各有各的特点,都很好用,我们推荐SQLyog更多信息:丌错的Mysql客户端工具--SQLyog一个优秀的MySQL客户端---EMS SQL Manager for MySQLMySQL客户端Navicat介绍phpMyAdmin下载、安装和使用入门Quest公司工具 Toad for MySQL 介绍... 分区 MySQL Training 的第 11 页
  12. 12. 八、MySQL日常维护2009年9月14日17:19查看MySQL运行迚程mysql> show processlist;查看Innodb引擎运行情况:mysql>show innodb status;查看MySQL参数情况:mysql>show [global] variables like %innodb%;查看MySQL运行状态:mysql>show [global] status like %thread%;查看表、存储过程、触发器:mysql>show tables;mysql>show procedure status; show create procedure USP_Cursor;mysql> show triggers; show create trigger TRI_UP_User_Delete;查看MySQL帮劣:mysql>help;mysql>help conntents;mysql>help show; 分区 MySQL Training 的第 12 页
  13. 13. 九、MySQL共享资源2009年9月14日17:19VSFT新媒论坛 (http://bbs.feinno.com/)MySQL社区 (www.mysqlpub.com),blog by yourselfChinUnix MySQL分坛 (http://bbs3.chinaunix.net/forumdisplay.php?fid=17)MySQL Performance Blog( http://www.mysqlperformanceblog.com)MySQL Consulting Website(http://www.percona.com/) 分区 MySQL Training 的第 13 页
  14. 14. 十、Q/A2009年9月14日17:21 简单的设计甚于复杂的处理! 分区 MySQL Training 的第 14 页

×