mysql管理

1.当刚开始安装mysql后,要给root赋权限:grant all on *.* to 'root'@'%' IDENTIFIED BY 'password' , 才能通过navicat连接mysql数据库。

2.服务器的版本号和当前日期:

mysql> SELECT VERSION(), CURRENT_DATE;
3. SHOW语句找出服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
4.
GRANT ALL ON menagerie.* TO 'your_mysql_name'@'your_client_host';

这里your_mysql_name是分配给你的MySQL用户名,your_client_host是所连接的服务器所在的主机。

5.显示表中的字段信息:

DESCRIBE table_name;
6.
SELECT name, birth, CURDATE(),
    -> (YEAR(CURDATE())-YEAR(birth))
    -> - (RIGHT(CURDATE(),5)<RIGHT(birth,5))
    -> AS age
    -> FROM pet; 取得月份MONTH( )和月份中的某天DAYOFMONTH( );
增加一个月:DATE_ADD(CURDATE(),INTERVAL 1 MONTH)

7.用.gz的备份文件导入的数据库的步骤,用gunzip 文件名.gz 解压后,在linux shell 下面执行mysql 数据库名 < 压缩后的文件名
8.为了找出当前选择了哪个数据库,使用DATABASE( )函数.找出当前的数据库包含什么表
mysql> SHOW TABLES;
9.你也可以以批模式运行mysql。为了做到这些,把你想要运行的命令放在一个文件中,然后告诉mysql从文件读取它的输入:
shell> mysql < batch-file   可用这个命令导入备份文件,

如果你想在语句出现错误的时候仍想继续执行脚本,则应使用--force命令行选项。

10.服务器支持哪个存储引擎

mysql> SHOW ENGINES; 或者:
mysql> SHOW VARIABLES LIKE 'have%';
11.

mysqld_safe:MySQL服务器启动脚本,mysqld_safe尝试启动可执行mysqld-max(如果存在),否则启动mysqld

12.mysql的锁:一般有两种类型的锁:这两种锁一般叫做共享锁(shared locks)以及排它锁(exclusive locks)或者可以叫做读取锁(read locks)和写入锁(write locks)独占锁。

锁策略一般是在锁的额外开销和安全性取一个折中的方法。这个策略会影响到性能。大部分商业的数据库不会给你更多的选择:你获得是行级别的锁。有大量的复杂的算法使得其具有很高的性能。

 

MySQL提供了更多的选择。它的存储引擎提供了自己的锁策略和锁的颗粒度。锁管理在存储引擎的设计中是非常重要的。

锁的颗粒度在某一级别,对于某些的操作有很大的性能提升。然而可能对于其他的引擎就不太适合了。因为MySQL本身提供了多个存储引擎。所以不会有一个通用的解决方案。让我们来看下比较重要的两个锁的策略。

让我们来看下比较重要的两个锁的策略:

表锁

在MySQL中,这是最基本的锁的策略了。消耗资源最少的就是表锁了。表锁和上面所描述的邮箱锁是相似的,它是把整个表进行锁定。当一个Client要操作表(Insert,delete,update等)。它获得了一个写锁。这样其他Client就不能操作这个表了。当没有Client执行写的操作。读取操作会得到一个读取锁。它并不会和其他的读取锁相冲突。

 

表锁的许多变化在特定的条件下有很好的性能。举个例子,READ LOCAL 表锁允许一些类型的写入操作并发执行。写入锁得优先级高于读取锁。因此一个请求的写入锁在队列中必会超过读取锁。(写入锁在队列中会超过读取锁,但是读取锁不会超过写入锁)。

 

虽然存储引擎能管理自己的锁,但是MySQL本身也使用了不同的表锁来提高效率。示例, 服务器对于ALTER TABLE这个语句使用了表锁。而不管存储引擎的锁管理。

行锁

这种锁可以带来最好的并发性,但是对资源的消耗也是最大的。行锁这种策略是非常熟悉的。在InnoDB和Falcon存储引擎

中可以使用行锁。行锁是存储引擎实现的。并不是服务器实现。服务器完全不知道存储引擎锁的实现。在以后的教程中会知道存储引擎有自己实现锁的方式。

13.mysql里面的varchar text blob等都是非结构化的数据,要用sphinx做全文检索,非结构化的数据一般叫全文检索。like 顺序扫描,like不是有同义词搜索 ,sphinx是索引扫描,可以同义词搜索。sphinx建立索引过程:源文档->分词组件(分词,去掉标点符号,停词,)->语言处理组件(用于得到词根)->索引组件(排序,去重, 计算document frequence 文档频率即在几个文档里面出现过,词频即在所有文档里面出现过几次)。 查询的时候:对查询的句子,做:词法分析,语法分析,语言处理,根据文档的相似度,排序结果集。






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值