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
转载于:https://blog.51cto.com/13346331/2112745