细细品味 Hadoop Hadoop 集群 ( 第 10 期副刊 ) 精华集锦 csaxp http://www.xiapistudio.com/ 2012 年 3 月 16 日
目录 1 本期内容... 2 1.1 系统管理... 2 1.1.1 连接 MySQL... 2 1.1.2 修改新密码... 2 1.1.3 增加新用户... 3 1.1.4 启动停止 MySQL... 3 1.2 数据库操作... 4 1.2.1 库操作... 4 1.2.2 表操作... 5 1.3 数据库导入导出... 6 1.3.1 从数据库导出数据库文件... 6 1.3.2 从外部文件导入数据库中... 7 2 参考文献... 8 3 打赏小编... 9 中国 北京 虾皮工作室 (www.xiapistudio.com) 编辑 : 虾皮 1
Hadoop 集群 ( 第 10 期副刊 ) 常用 MySQL 数据库命令 1 本期内容 1.1 系统管理 1.1.1 连接 MySQL 格式 : mysql -h 主机地址 -u 用户名 -p 用户密码举例 : 例 1: 连接到本机上的 MySQL 首先在打开 DOS 窗口, 然后进入目录 mysqlbin, 再键入命令 mysql u root p, 回车后提示你输密码, 如果刚安装好 MySQL, 超级用户 root 是没有密码的, 故直接回车即可进入到 MySQL 中了,MySQL 的提示符是 : mysql> 例 2: 连接到远程主机上的 MYSQL 假设远程主机的 IP 为 :110.110.110.110, 用户名为 root, 密码为 abcd123 则键入以下命令: mysql -h 110.110.110.110 -u root p abcd123 备注 :u 与 root 可以不用加空格, 其它也一样 退出 MySQL 命令 : exit ( 回车 ) 1.1.2 修改新密码 格式 :mysqladmin -u 用户名 -p 旧密码 password 新密码 举例 : 例 1: 给 root 加个密码 ab12 首先在 DOS 下进入目录 mysqlbin, 然后键入以下命令 : mysqladmin -u root -password ab12 备注 : 因为开始时 root 没有密码, 所以 -p 旧密码一项就可以省略了 例 2: 再将 root 的密码改为 djg345 mysqladmin -u root -p ab12 password djg345 中国 北京 虾皮工作室 (www.xiapistudio.com) 编辑 : 虾皮 2
1.1.3 增加新用户 备注 : 和上面不同, 下面的因为是 MySQL 环境中的命令, 所以后面都带一个分号 ; 作为命令结束符 格式 :grant select on 数据库.* to 用户名 @ 登录主机 identified by ' 密码 ' 举例 : 例 1: 增加一个用户 test1 密码为 abc, 让他可以在任何主机上登录, 并对所有数据库有查询 插入 修改 删除的权限 首先用以 root 用户连入 MySQL, 然后键入以下命令 : grant select,insert,update,delete on *.* to test2@localhost identified by 'abc'; 或者 grant all privileges on *.* to test2@localhost identified by 'abc'; 然后刷新权限设置 flush privileges; 例 2: 如果你不想 test2 有密码操作数据库 mydb 里的数据表, 可以再打一个命令将 密码消掉 grant select,insert,update,delete on mydb.* to test2@localhost identified by ''; 1.1.4 启动停止 MySQL 1)Windows 环境下 首先进入 DOS 环境, 然后进行下面操作 启动服务 net start mysql 停止服务 net stop mysql 2)Linux 环境下 启动服务 service mysql start 中国 北京 虾皮工作室 (www.xiapistudio.com) 编辑 : 虾皮 3
停止服务 service mysql stop 1.2 数据库操作 1.2.1 库操作 1) 创建数据库 命令 :create database < 数据库名 > 例如 : 建立一个名为 xhkdb 的数据库 mysql> create database xhkdb; 2) 显示所有的数据库 命令 :show databases ( 注意 : 最后有个 s) mysql> show databases; 3) 删除数据库 命令 :drop database < 数据库名 > 例如 : 删除名为 xhkdb 的数据库 mysql> drop database xhkdb; 4) 连接数据库 命令 : use < 数据库名 > 例如 : 如果 xhkdb 数据库存在, 尝试存取它 mysql> use xhkdb; 屏幕提示 :Database changed 5) 查看当前使用的数据库 mysql> select database(); 6 当前数据库包含的表信息 mysql> show tables; ( 注意 : 最后有个 s) 中国 北京 虾皮工作室 (www.xiapistudio.com) 编辑 : 虾皮 4
1.2.2 表操作 备注 : 操作之前使用 use < 数据库名 > 应连接某个数据库 1) 建表命令 :create table < 表名 > ( < 字段名 1> < 类型 1> [,..< 字段名 n> < 类型 n>]); mysql> create table MyClass( > id int(4) not null primary key auto_increment, > name char(20) not null, > sex int(4) not null default '0', > degree double(16,2)); 2) 获取表结构 命令 : desc 表名, 或者 show columns from 表名 mysql>describe MyClass mysql> desc MyClass; mysql> show columns from MyClass; 3) 删除表 命令 :drop table < 表名 > 例如 : 删除表名为 MyClass 的表 mysql> drop table MyClass; 4) 插入数据命令 :insert into < 表名 > [( < 字段名 1>[,..< 字段名 n > ])] values ( 值 1 )[, ( 值 n )] 例如 : 往表 MyClass 中插入二条记录, 这二条记录表示 : 编号为 1 的名为 Tom 的成绩为 96.45, 编号为 2 的名为 Joan 的成绩为 82.99, 编号为 3 的名为 Wang 的成绩为 96.5 mysql> insert into MyClass values(1,'tom',96.45),(2,'joan',82.99), (2,'Wang', 96.59); 5) 查询表中的数据 查询所有行命令 : select < 字段 1, 字段 2,...> from < 表名 > where < 表达式 > 例如 : 查看表 MyClass 中所有数据 mysql> select * from MyClass; 查询前几行数据 例如 : 查看表 MyClass 中前 2 行数据 中国 北京 虾皮工作室 (www.xiapistudio.com) 编辑 : 虾皮 5
mysql> select * from MyClass order by id limit 0,2; 或者 mysql> select * from MyClass limit 0,2; 6) 删除表中数据 命令 :delete from 表名 where 表达式 例如 : 删除表 MyClass 中编号为 1 的记录 mysql> delete from MyClass where id=1; 7) 修改表中数据 命令 :update 表名 set 字段 = 新值, where 条件 mysql> update MyClass set name='mary' where id=1; 8) 在表中增加字段 命令 :alter table 表名 add 字段类型其他 ; 例如 : 在表 MyClass 中添加了一个字段 passtest, 类型为 int(4), 默认值为 0 mysql> alter table MyClass add passtest int(4) default '0' 9) 更改表名 命令 :rename table 原表名 to 新表名 ; 例如 : 在表 MyClass 名字更改为 YouClass mysql> rename table MyClass to YouClass; 10) 更新字段内容命令 :update 表名 set 字段名 = 新内容 update 表名 set 字段名 = replace( 字段名,' 旧内容 ',' 新内容 '); 例如 : 文章前面加入 4 个空格 update article set content=concat(' ',content); 1.3 数据库导入导出 1.3.1 从数据库导出数据库文件 使用 mysqldump 命令 中国 北京 虾皮工作室 (www.xiapistudio.com) 编辑 : 虾皮 6
首先进入 DOS 界面, 然后进行下面操作 1) 导出所有数据库格式 :mysqldump -u [ 数据库用户名 ] -p -A>[ 备份文件的保存路径 ] 2) 导出数据和数据结构格式 :mysqldump -u [ 数据库用户名 ] -p [ 要备份的数据库名称 ]>[ 备份文件的保存路径 ] 举例 : 例 1: 将数据库 mydb 导出到 e:\mysql\mydb.sql 文件中 打开开始 运行 输入 cmd, 进入命令行模式 c:\> mysqldump -h localhost -u root -p mydb >e:\mysql\mydb.sql 然后输入密码, 等待一会导出就成功了, 可以到目标文件中检查是否成功 例 2: 将数据库 mydb 中的 mytable 导出到 e:\mysql\mytable.sql 文件中 c:\> mysqldump -h localhost -u root -p mydb mytable>e:\mysql\mytable.sql 例 3: 将数据库 mydb 的结构导出到 e:\mysql\mydb_stru.sql 文件中 c:\> mysqldump -h localhost -u root -p mydb --add-drop-table >e:\mysql\mydb_stru.sql 备注 :-h localhost 可以省略, 其一般在虚拟主机上用 3) 只导出数据不导出数据结构格式 :mysqldump -u [ 数据库用户名 ] -p -t [ 要备份的数据库名称 ]>[ 备份文件的保存路径 ] 4) 导出数据库中的 Events 格式 :mysqldump -u [ 数据库用户名 ] -p -E [ 数据库用户名 ]>[ 备份文件的保存路径 ] 5) 导出数据库中的存储过程和函数格式 :mysqldump -u [ 数据库用户名 ] -p -R [ 数据库用户名 ]>[ 备份文件的保存路径 ] 1.3.2 从外部文件导入数据库中 操作 1) 使用 source 命令 首先进入 mysql 命令控制台, 然后创建数据库, 然后使用该数据库 最后执行下面 mysql>source [ 备份文件的保存路径 ] 2) 使用 < 符号 首先进入 mysql 命令控制台, 然后创建数据库, 然后退出 MySQL, 进入 DOS 界面 最后执行下面操作 mysql -u root p < [ 备份文件的保存路径 ] 中国 北京 虾皮工作室 (www.xiapistudio.com) 编辑 : 虾皮 7
2 参考文献 感谢以下文章的编写作者, 没有你们的铺路, 我或许会走得很艰难, 参考不分先后, 贡 献同等珍贵 1 http://www.educity.cn/wenda/400754.html 2 http://www.2cto.com/os/201408/329505.html 中国 北京 虾皮工作室 (www.xiapistudio.com) 编辑 : 虾皮 8
3 打赏小编 编辑简介 : 高级软件工程师 (T5), 河北工业大学硕士研究生, 现在就职于百度在线网络技术 ( 北京 ) 有限公司 专注于大数据以及其相关研究, 在离线计算和实时计算方面有较为深入的研究, 积累了丰富的实战经验 热衷于知识分享, 其细细品味系列教程深受网友喜爱 姓名 : 解耀伟 笔名 : 虾皮 扣扣 :461052034 网站 :www.xiapistudio.com 博客 :http://www.cnblogs.com/xia520pi/ 邮箱 :xieyaowei1986@163.com 从高考复习开始养成了总结的习惯, 习惯于在学习的过程中, 把相关的文章融会贯通, 并加以实践, 结合自己的实际情况把相关的内容整理成册, 便于学习和总结 在这几年里陆陆续续分享了很多细细品味系列文章 每一期文章都耗费了不少的心血, 很多时候都是在星期天业余的时间完成, 现在也建立了自己独立的网站 :www.xiapistudio.com, 需要一些资金来维持, 同时也可以鼓励我写更多的好东西来分享 如果你看了本文章对自己有用, 可以通过支付宝的形式来进行打赏,1 元 2 元 10 元皆可, 多少并不重要, 只要你感觉文章使你受益即可 温馨提示 : 在转账时, 可以写明 打赏虾皮 或者 打赏虾皮工作室 我的支付宝已 经进行实名认证, 支付宝是的个人头像, 请认准后再支付 中国 北京 虾皮工作室 (www.xiapistudio.com) 编辑 : 虾皮 9