1.中文分词的原因(重点) 普通的模糊搜索,检索数据的时候,用不到索引,全文检索速率很慢 例如:SELECT * FROM goods where title like "%复古%"; 算了 算了 算了算了算了算了算了。。。。。。。 2.中文分词的原理 将大段的中文拆分成多个小的单词 将单词插入到一张具有索引的表中. (索引添加在单词的列上) 检索时, 首先通过关键字检索单词表, 然后再通过结果中的id列表, 获取具体的数据 ``` select * from goods_words where word = '复古'; select * from goods where id in (5,13,4) 3.scws例子 <?php //test.php // // Usage on command-line: php test.php <file|textstring> // Usage on web: header('content-type:text/html;charset=utf-8');

//声明字符串 $text = <<<EOF 孔子主张“为政以德”,用道德和礼教来治理国家是最高尚的治国之道。这种治国方略也叫“德治”或“礼治”。德治就是主张以道德去感化教育人。儒家认为,无论人性善恶,都可以用道德去感化教育人。而所谓“礼治”,即遵守严格的等级制度,君臣、父子、贵贱、尊卑都有严格的区别。 EOF;

// 引入类文件 require 'pscws4.class.php'; // 实例化 $cws = new PSCWS4(); //设置字符集 $cws->set_charset('utf8'); //设置词典 $cws->set_dict('etc/dict.utf8.xdb'); //设置utf8规则 $cws->set_rule('etc/rules.utf8.ini'); //忽略标点符号 $cws->set_ignore(true); //传递字符串 $cws->send_text($text); //获取权重最高的前十个词 $ret = $cws->get_tops(10); //获取全部的分词结果 $ret=$cws->get_result(); //打印 var_dump($ret); //关闭 $cws->close(); ?> 4.scws分词工具 分词词典 工具 5.分词执行 6.权限管理(重点) 在root下进行添加用户操作和给其它用户加权限 (1)用户管理 创建用户 ->root Insertintomysql.user(Host,User,Password)values("localhost","lele3",password("lele3")); 创建完毕之后要刷新 flush privileges; 查看用户列表 select user from mysql.user group by User;

(2)权限分配(在root用户下操作) grant 权限 on 数据库.数据表 to 用户@localhost identified by '用户密码'; 权限列表 create 建库建表权限 drop 删库删表权限 insert 数据插入权限 delete 数据删除权限 update 数据修改权限 select 数据读取权限 index 索引操作权限 . 数据库 数据表 =>o2o_14.* o2o_14.user Lele4 用户名 分配权限之后:刷新权限 flush privileges; (3)查看权限 登录当前用户查看当前用户(自己)权限: show grants; show grants; 登录root查看其他 MySQL 用户权限: show grants for 用户@localhost; show grants for 用户@localhost; (4)权限夺回 (在root下进行) revoke 权限 on 数据库.数据表 from 用户名@localhost;(需要谨慎) 刷新权限flush privileges; 注意: revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。 (5)注意 Test information_schema数据库和test前缀的数据库不受权限控制 授权完毕之后要刷新权限 flush privileges;

7.数据库备份和还原(了解)

7.1 数据库备份之逻辑备份 使用MYSQLDUMP命令备份 (1)使用mysqldump备份单个数据库中的所有表 mysqldump -u root -h localhost -p 数据库 >/tmp/caijun.sql (2)使用mysqldump备份数据库中的某个表 mysqldump -u root -h localhost -p caijun stu >/tmp/stu.sql (3)使用mysqldump备份多个数据库 如果要使用mysqldump备份多个数据库,需要使用--databases参数。 使用--databases参数之后,必须指定至少一个数据库的名称,多个数据库名称之间用空格隔开 mysqldump -u root -h localhost -p --databases 数据库1 数据库2 >/tmp/caijuno2o_13.sql (4)使用--all-databases参数备份系统中所有的数据库 mysqldump -u root -h localhost -p --all-databases >/tmp/alls.sql 使用数据库管理工具快速备份 navicat 7. 2数据库逻辑还原 (1)使用mysql命令进行还原 还原表: mysql -u root -p 数据库 </tmp/stu.sql 还原库 执行语句之前我们必须建好数据库,如果不存在恢复过程将会出错。 mysql -u root -p caijun </tmp/caijun.sql (2)如果已经登录mysql,那么可以使用source命令导入备份文件 执行source命令前必须使用use 语句选择好数据库,不然会出现ERROR 1046(3D000):NO DATABASE SELECTED 的错误 命令: mysql> use caijun; Database changed mysql> source /tmp/caijun.sql 注意空格 使用数据库管理工具恢复数据 navicat 8.日志操作(重点) Mysql 日志操作可以快速的记录mysql的操作信息 打开mysql配置文件,设置日志记录 错误日志(在启动或者关闭数据库信息的时候,出现错误,会记录一些日志信息) log-error=/tmp/mysql-error.log 查询日志(在执行增删改查的时候,会把日志信息记录) log=/tmp/mysql-query.log 慢查询日志 long_query_time=1 log-slow-queries=/tmp/mysql-slow.log 二进制日志 log-bin=1