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( );7.用.gz的备份文件导入的数据库的步骤,用gunzip 文件名.gz 解压后,在linux shell 下面执行mysql 数据库名 < 压缩后的文件名;增加一个月:DATE_ADD(CURDATE(),INTERVAL 1 MONTH)
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 文档频率即在几个文档里面出现过,词频即在所有文档里面出现过几次)。 查询的时候:对查询的句子,做:词法分析,语法分析,语言处理,根据文档的相似度,排序结果集。