java mysql 中文分词_数据库优化之中文分词:

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例子

//test.php

//

// Usage on command-line: php test.php

// Usage on web:

header('content-type:text/html;charset=utf-8');

//声明字符串

$text = <<

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

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 数据库

还原库

执行语句之前我们必须建好数据库,如果不存在恢复过程将会出错。

mysql -u root -p caijun

(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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值