- 浏览: 675359 次
- 来自: 北京
文章分类
最新评论
-
flyer0126:
freezingsky 写道想想以前自己玩ubuntu的时候, ...
Ubuntu Gnome 1404 64位 WineQQ2013 无法运行解决 -
flyer0126:
kuchaguangjie 写道ubuntu gnome? 我 ...
Ubuntu Gnome 1404 64位 WineQQ2013 无法运行解决 -
kuchaguangjie:
ubuntu gnome? 我已经放弃 ubuntu 桌面了, ...
Ubuntu Gnome 1404 64位 WineQQ2013 无法运行解决 -
freezingsky:
想想以前自己玩ubuntu的时候,在那里wine 个QQ,就觉 ...
Ubuntu Gnome 1404 64位 WineQQ2013 无法运行解决 -
f43310:
不错,学习了!
PHP操作Mysql存储过程
一、连接、退出MySQL
连接格式: mysql -h 主机地址 -u 用户名 -p 用户密码
(注:u与root可以不用加空格,其它也一样)
退出MYSQL命令: exit (回车)
二、修改密码
格式:mysqladmin -u用户名 -p旧密码 password 新密码
mysqladmin -uroot -proot password 123456;
三、增加新用户
格式:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"
grant select,insert,update,delete on *.* to test1@localhost identified by \"abc123\";
四、导出备份
1. 备份数据库
c:\mysql\bin\mysqldump -uroot -proot flyer0126>e:\flyer0126.sql
2. 备份数据表
c:\mysql\bin\mysqldump -uroot -proot flyer0126 user>e:\user.sql
3. 备份查询结果
mysql>select * from user order by create_time desc limit 10 into outfile 'c:/aa.sql'
五、MySQL常用命令
create database name; 创建数据库
use databasename; 选择数据库
drop database name 直接删除数据库,不提醒
show tables; 显示表
describe tablename; 表的详细描述
select 中加上distinct去除重复字段
mysqladmin drop database name 删除数据库前,有提示。
select version(),current_date; 显示当前mysql版本和当前日期
六、MySQL管理
1、MySQL会使用索引的操作符号
<,<=,>=,>,=,between,in,不带%或者_开头的like
附:字符说明:
% 匹配任何数目的字符,甚至包括零字符
_ 只能匹配一种字符
2、使用索引的缺点
1)减慢增删改数据的速度;
2)占用磁盘空间;
3)增加查询优化器的负担;
当查询优化器生成执行计划时,会考虑索引,太多的索引会给查询优化器增加工作量,导致无法选择最优的查询方案
3、分析索引效率
方法:在一般的SQL语句前加上explain;
分析结果的含义:
1)table:表名;
2)type:连接的类型,(ALL/Range/Ref)。其中ref是最理想的;
3)possible_keys:查询可以利用的索引名;
4)key:实际使用的索引;
5)key_len:索引中被使用部分的长度(字节);
6)ref:显示列名字或者"const"(不明白什么意思);
7)rows:显示MySQL认为在找到正确结果之前必须扫描的行数;
8)extra:MySQL的建议
4、使用较短的定长列
1)尽可能使用较短的数据类型;
2)尽可能使用定长数据类型;
a)用char代替varchar,固定长度的数据处理比变长的快些;
b)对于频繁修改的表,磁盘容易形成碎片,从而影响数据库的整体性能;
c)万一出现数据表崩溃,使用固定长度数据行的表更容易重新构造。使用固定长度的数据行,每个记录的开始位置都是固定记录长度的倍数,可以很容易被检测到,但是使用可变长度的数据行就不一定了;
d)对于MyISAM类型的数据表,虽然转换成固定长度的数据列可以提高性能,但是占据的空间也大;
5、使用not null和enum
尽量将列定义为not null,这样可使数据的出来更快,所需的空间更少,而且在查询时,MySQL不需要检查是否存在特例,即null值,从而优化查询;
如果一列只含有有限数目的特定值,如性别,是否有效或者入学年份等,在这种情况下应该考虑将其转换为enum列的值,MySQL处理的更快,因为所有的enum值在系统内都是以标识数值来表示的;
6、使用optimize table
对于经常修改的表,容易产生碎片,使在查询数据库时必须读取更多的磁盘块,降低查询性能。具有可变长的表都存在磁盘碎片问题,这个问题对blob数据类型更为突出,因为其尺寸变化非常大。可以通过使用optimize table来整理碎片,保证数据库性能不下降,优化那些受碎片影响的数据表。 optimize table可以用于MyISAM和BDB类型的数据表。实际上任何碎片整理方法都是用mysqldump来转存数据表,然后使用转存后的文件并重新建数据表;
PS:OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。
7、使用procedure analyse()
可以使用procedure analyse()显示最佳类型的建议,使用很简单,在select语句后面加上procedure analyse()就可以了;
例如:
select * from students procedure analyse(); select * from students procedure analyse(16,256);
第二条语句要求procedure analyse()不要建议含有多于16个值,或者含有多于256字节的enum类型,如果没有限制,输出可能会很长;
8、使用查询缓存
1)查询缓存的工作方式:
第一次执行某条select语句时,服务器记住该查询的文本内容和查询结果,存储在缓存中,下次碰到这个语句时,直接从缓存中返回结果;当更新数据表后,该数据表的任何缓存查询都变成无效的,并且会被丢弃。
2)配置缓存参数:
变量:query_cache _type,查询缓存的操作模式。有3中模式,0:不缓存;1:缓存查询,除非与 select sql_no_cache开头;2:根据需要只缓存那些以select sql_cache开头的查询; query_cache_size:设置查询缓存的最大结果集的大小,比这个值大的不会被缓存。
显然,这对于频繁更新的表,查询缓存是不适合的,而对于一些不常改变数据且有大量相同sql查询的表,查询缓存会节约很大的性能。
mysql> SHOW VARIABLES LIKE ’%query_cache%’; +------------------------------+---------+ | Variable_name | Value | +------------------------------+---------+ | have_query_cache | YES | --查询缓存是否可用 | query_cache_limit | 1048576 | --可缓存具体查询结果的最大值 | query_cache_min_res_unit | 4096 | | query_cache_size | 0 | --查询缓存的大小 | query_cache_type | ON | --阻止或是支持查询缓存 | query_cache_wlock_invalidate | OFF | +------------------------------+---------+ mysql> set global query_cache_size = 600000; --设置缓存内存 Query OK, 0 rows affected (0.00 sec) mysql> set session query_cache_type = ON; --开启查询缓存 Query OK, 0 rows affected (0.00 sec)
9、调整硬件
1)在机器上装更多的内存;
2)增加更快的硬盘以减少I/O等待时间;
寻道时间是决定性能的主要因素,逐字地移动磁头是最慢的,一旦磁头定位,从磁道读则很快;
3)在不同的物理硬盘设备上重新分配磁盘活动;
如果可能,应将最繁忙的数据库存放在不同的物理设备上,这跟使用同一物理设备的不同分区是不同的,因为它们将争用相同的物理资源(磁头)。
发表评论
-
mysql启动报错:/usr/bin/mysqld_safe: line 183: 23716 Killed
2019-07-30 20:54 2018PS:原创文章,如需转载,请注明出处,谢谢! ... -
MySQL查询问题排查-索引应用
2018-02-03 16:25 954PS:原创文章,如需转载,请注明出处,谢谢! ... -
【转】MySQL索引工作原理
2017-05-16 11:23 699转载文章,原文地址:http://blog.csdn.ne ... -
MySQL连接超时关闭问题解决
2016-12-20 14:19 2415PS:原创文章,如需转载,请注明出处,谢谢! ... -
【转】MySQL innodb表自增主键问题
2016-03-18 09:51 770背景: 自增长是一个很常见的数据属性,在My ... -
Mysql分库分表方案
2015-12-02 18:03 873转载文章,原文地址 ... -
MySQL死锁解决
2015-10-27 15:26 1727PS:原创文章,如需转载,请注明出处,谢谢! ... -
[转]MySQL中的隔离级别和悲观锁及乐观锁
2015-10-21 10:05 1217一、事务支持 MySQL的事务支持不是绑定在 ... -
利用mysqlbinlog恢复数据
2015-05-14 10:08 6917PS:原创文章,如需转载,请注明出处,谢谢! ... -
Mysql选择主键
2015-02-27 10:21 2153对于一个表来说主键选用的好坏直接关系到对于该表的操作 ... -
MySQL自动增长间隔设置
2015-02-27 09:26 1504MySQL设置表字段属性AUTO_INCREMENT时 ... -
【转】Mysql分表和分区的区别
2015-01-08 17:14 933参考文章:http://blog.csdn.net/heir ... -
MySQL更改数据库文件的目录
2014-10-21 11:18 913本人使用的Ubuntu系统,当初划分/根 ... -
【转】myisam和innodb索引的实现
2014-09-25 11:34 951MyISAM引擎使用B+Tree作为索引 ... -
Ubuntu 下Mysql Server不能被远程连接问题解决
2014-09-03 10:54 2139PS:原创文章,如需转载,请注明出处,谢谢! ... -
MySQL ERROR 1030 (HY000): Got error 28 from storage engine
2014-07-14 10:18 1573早上打开discuz论坛,发现挂掉了。出现MySQL “ER ... -
MySQL V5.5 主从配置
2014-07-07 16:28 1173最近线上服务器做了迁移,要做mysql主从,特意学习并记录 ... -
[转]MySQL show processlist分析
2014-04-17 10:50 1087mysql> show processlist; ... -
mysqldump : Error: Binlogging on server not active
2014-02-08 14:18 1339记录一下: mysqldump : Error ... -
MySQL 文件导入时“server has gone away” 问题解决
2013-09-10 09:39 1081MySQL 大文件数据导入时,一般会出现 ...
相关推荐
MYSQL 命令行操作详细 本节内容将详细介绍 MYSQL 命令行操作的各种命令和技巧,包括连接 MYSQL、修改密码、增加新用户、数据库操作等。 一、连接 MYSQL MYSQL 命令行操作的第一步是连接到 MYSQL 服务器。连接命令...
本篇文章将深入探讨MySQL命令行操作的基础知识,帮助初学者快速掌握MySQL的使用。 首先,安装MySQL数据库后,我们需要通过命令行登录。在Windows系统中,打开CMD命令提示符,输入`mysql -u root -p`,接着按回车,...
MySQL 命令行常用命令是 MySQL 数据库管理员和开发者需要掌握的基本技能,本文将介绍 MySQL 命令行常用命令的六大招数,包括 MySQL 服务的启动和停止、登陆 MySQL、增加新用户、操作数据库、导出和导入数据、乱码...
MySQL命令行是数据库管理员和开发人员进行数据管理与操作的主要工具。它允许用户直接与MySQL服务器交互,执行SQL语句,实现对数据库的增、删、改、查等操作。以下将详细介绍如何使用MySQL命令行进行文档操作。 一、...
### MySQL命令行操作详解 #### 一、连接MySQL服务器 在使用MySQL命令行工具之前,首先需要通过命令提示符(Windows环境下通常为CMD)连接到MySQL服务器。具体步骤如下: 1. **打开命令提示符**:点击“开始”菜单...
本文将详细介绍如何在MySQL命令行环境下完成数据的导出与导入操作。 #### 数据导出 数据导出通常指的是将数据库中的数据或者表结构以文件的形式保存下来,以便后续的数据恢复或迁移等操作。在MySQL中,最常用的...
MySQL命令行模式是数据库管理的重要方式,尤其对于网站开发者来说,掌握MySQL的命令行操作能够有效地管理和维护数据库。在Linux或Windows环境下,MySQL都提供了命令行接口,方便用户执行SQL语句。 首先,确保MySQL...
以下是一些常用的MySQL命令行操作: 1. **启动和停止MySQL服务**: - `net stop mysql` 用于停止MySQL服务。 - `net start mysql` 用于启动MySQL服务。 2. **登录MySQL**: - 使用`mysql -u<用户名> -p`命令...
本文将详细介绍MySQL的一些常用命令行操作,帮助读者更好地掌握如何通过命令行方式来管理和操作MySQL数据库。 #### 一、启动与停止MySQL服务 - **启动MySQL服务**: - 在Windows系统上,可以通过以下命令来启动...
MySQL命令行是数据库管理员和...掌握这些基本的MySQL命令行操作,能够有效地管理和操作MySQL数据库,无论是进行数据维护还是开发工作,都是非常重要的基础技能。记得在使用时根据实际的数据库设置和需求进行适当调整。
对于初学者来说,了解一些基本的MySQL命令行操作是非常必要的。以下是一些常用命令: 1. **显示当前数据库**: ``` SELECT DATABASE(); ``` 2. **选择数据库**: ``` USE 数据库名; ``` 3. **查看所有...
#### 一、MySQL命令行操作 **1. 启动与停止MySQL服务** - **启动MySQL服务:** ```bash net start mysql ``` - **停止MySQL服务:** ```bash net stop mysql ``` **2. 查看MySQL监听端口** 为了确认MySQL...
这里我将向你展示如何使用MySQL命令行客户端(mysql命令行)来执行这些操作。 1. 登录MySQL 首先,你需要打开终端(Terminal)并使用mysql命令登录到你的MySQL服务器。如果你还没有设置密码,可以直接使用mysql -u ...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,其命令行实用程序提供了丰富的功能,使得数据库的管理和操作更为便捷。这里我们将深入探讨这些工具的功能和用途。 首先,我们关注的是MySQL的服务器端实用工具:...
在PHP开发过程中,有时会...总之,解决PHP连接不上MySQL但命令行操作正常的问题通常需要检查和调整PHP配置,确保与MySQL的通信参数匹配。同时,熟练掌握命令行操作和PHP与数据库的交互方式是每个PHP开发者必备的技能。
MySQL是世界上最流行的开源关系型数据库管理系统之一,对于数据库管理员来说,熟练掌握其命令行操作是至关重要的。本文将详细介绍如何在MySQL命令行环境下添加用户、管理权限以及删除用户。 1. **创建用户** 使用`...
以上只是MySQL命令行操作的一部分,实际使用中还有更多高级特性和技巧,如视图、存储过程、触发器等。通过熟练掌握这些命令,你可以更加高效地管理和操作MySQL数据库。在实践中,结合官方文档和相关教程,不断学习和...