重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
注册的解决
创新互联建站是一家集网站建设,怀宁企业网站建设,怀宁品牌网站建设,网站定制,怀宁网站建设报价,网络营销,网络优化,怀宁网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
DNF单击版本资源
linux下mysql配置文件my点吸烟 f最详细解释与目录
MyISAM 相关选项
INNODB 相关选项
安装启动、相关目录
全文约 9945 字,预计阅读时长: 28分钟
注册的解决
个人遇到的问题,是按下面这篇文章解决的
二、无法安装vmnet8虚拟网络适配器、vmware network editor未响应、注册失败,请检查账号数据库配置是否正确的解决
单机版安装的大头主要是虚拟机的安装。其余服务端,客户端、补丁、辅助工具什么的只要放对文件,解压没问题,就可以按着教程一路next。注册一个用户,就是往某个数据库的一个表中,插入一条SQL语句…,,一个表的一条记录(玩家)与另一个库中的某个表的一条记录(玩家装备等信息)相关联
DNF单击版本资源
我最后找的是100级的版本,18个G。。其他版本教程安装与资源见:DNF单机版搭建(局域网、外网)
100级的资源:微信搜索框搜索,dnf单机版下载,有个溯源百级一键端的资源。
linux下mysql配置文件my点吸烟 f最详细解释与目录
my点吸烟 f的文件内容说明:
#MySQL 服务端
[mysqld]
#一般配置选项
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
#back_log 是操作系统在监听队列中所能保持的连接数,
#队列保存了在MySQL连接管理器线程处理之前的连接.
#如果你有非常高的连接率并且出现”connection refused” 报错,
#你就应该增加此处的值.
#检查你的操作系统文档来获取这个变量的最大值.
#如果将back_log设定到比你操作系统限制更高的值,将会没有效果
back_log = 50
#不在TCP/IP端口上进行监听.
#如果所有的进程都是在同一台服务器连接到本地的mysqld,
#这样设置将是增强安全的方法
#所有mysqld的连接都是通过Unix sockets 或者命名管道进行的.
#注意在windows下如果没有打开命名管道选项而只是用此项
#(通过 “enable-named-pipe” 选项) 将会导致mysql服务没有任何作用!
#skip-networking
#MySQL 服务所允许的同时会话数的上限
#其中一个连接将被SUPER权限保留作为管理员登录.
#即便已经达到了连接数的上限.
max_connections = 100
#每个客户端连接最大的错误允许数量,如果达到了此限制.
#这个客户端将会被MySQL服务阻止直到执行了”FLUSH HOSTS” 或者服务重启
#非法的密码以及其他在链接时的错误会增加此值.
#查看 “Aborted_connects” 状态来获取全局计数器.
max_connect_errors = 10
#所有线程所打开表的数量.
#增加此值就增加了mysqld所需要的文件描述符的数量
#这样你需要确认在[mysqld_safe]中 “open-files-limit” 变量设置打开文件数量允许至少4096
table_cache = 2048
#允许外部文件级别的锁. 打开文件锁会对性能造成负面影响
#所以只有在你在同样的文件上运行多个数据库实例时才使用此选项(注意仍会有其他约束!)
#或者你在文件层面上使用了其他一些软件依赖来锁定MyISAM表
#external-locking
#服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小(当与大的BLOB字段一起工作时相当必要)
#每个连接独立的大小.大小动态增加
max_allowed_packet = 16M
#在一个事务中binlog为了记录SQL状态所持有的cache大小
#如果你经常使用大的,多声明的事务,你可以增加此值来获取更大的性能.
#所有从事务来的状态都将被缓冲在binlog缓冲中然后在提交后一次性写入到binlog中
#如果事务比此值大, 会使用磁盘上的临时文件来替代.
#此缓冲在每个连接的事务第一次更新状态时被创建
binlog_cache_size = 1M
#独立的内存表所允许的最大容量.
#此选项为了防止意外创建一个超大的内存表导致永尽所有的内存资源.
max_heap_table_size = 64M
#排序缓冲被用来处理类似ORDER BY以及GROUP BY队列所引起的排序
#如果排序后的数据无法放入排序缓冲,
#一个用来替代的基于磁盘的合并分类会被使用
#查看 “Sort_merge_passes” 状态变量.
#在排序发生时由每个线程分配
sort_buffer_size = 8M
#此缓冲被使用来优化全联合(full JOINs 不带索引的联合).
#类似的联合在极大多数情况下有非常糟糕的性能表现,
#但是将此值设大能够减轻性能影响.
#通过 “Select_full_join” 状态变量查看全联合的数量
#当全联合发生时,在每个线程中分配
join_buffer_size = 8M
#我们在cache中保留多少线程用于重用
#当一个客户端断开连接后,如果cache中的线程还少于thread_cache_size,
#则客户端线程被放入cache中.
#这可以在你需要大量新连接的时候极大的减少线程创建的开销
#(一般来说如果你有好的线程模型的话,这不会有明显的性能提升.)
thread_cache_size = 8
#此允许应用程序给予线程系统一个提示在同一时间给予渴望被运行的线程的数量.
#此值只对于支持 thread_concurrency() 函数的系统有意义( 例如Sun Solaris).
#你可可以尝试使用 [CPU数量]*(2…4) 来作为thread_concurrency的值
thread_concurrency = 8
#查询缓冲常被用来缓冲 SELECT 的结果并且在下一次同样查询的时候不再执行直接返回结果.
#打开查询缓冲可以极大的提高服务器速度, 如果你有大量的相同的查询并且很少修改表.
#查看 “Qcache_lowmem_prunes” 状态变量来检查是否当前值对于你的负载来说是否足够高.
#注意: 在你表经常变化的情况下或者如果你的查询原文每次都不同,
#查询缓冲也许引起性能下降而不是性能提升.转载请注明文章来源:
query_cache_size = 64M
#只有小于此设定值的结果才会被缓冲
#此设置用来保护查询缓冲,防止一个极大的结果集将其他所有的查询结果都覆盖.
query_cache_limit = 2M
#被全文检索索引的最小的字长.
#你也许希望减少它,如果你需要搜索更短字的时候.
#注意在你修改此值之后,
#你需要重建你的 FULLTEXT 索引
ft_min_word_len = 4
#如果你的系统支持 memlock() 函数,你也许希望打开此选项用以让运行中的mysql在在内存高度紧张的时候,数据在内存中保持锁定并且防止可能被swapping out
#此选项对于性能有益
#memlock
#当创建新表时作为默认使用的表类型,
#如果在创建表示没有特别执行表类型,将会使用此值
default_table_type = MYISAM
#线程使用的堆大小. 此容量的内存在每次连接时被预留.
#MySQL 本身常不会需要超过64K的内存
#如果你使用你自己的需要大量堆的UDF函数
#或者你的操作系统对于某些操作需要更多的堆,
#你也许需要将其设置的更高一点.
thread_stack = 192K
#设定默认的事务隔离级别.可用的级别如下:
#READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
transaction_isolation = REPEATABLE-READ
#内部(内存中)临时表的最大大小
#如果一个表增长到比此值更大,将会自动转换为基于磁盘的表.
#此限制是针对单个表的,而不是总和.
tmp_table_size = 64M
#打开二进制日志功能.
#在复制(replication)配置中,作为MASTER主服务器必须打开此项
#如果你需要从你最后的备份中做基于时间点的恢复,你也同样需要二进制日志.
log-bin=mysql-bin
#如果你在使用链式从服务器结构的复制模式 (A-B-C),
#你需要在服务器B上打开此项.
#此选项打开在从线程上重做过的更新的日志,
#并将其写入从服务器的二进制日志.
#log_slave_updates
#打开全查询日志. 所有的由服务器接收到的查询 (甚至对于一个错误语法的查询)
#都会被记录下来. 这对于调试非常有用, 在生产环境中常常关闭此项.
#log
#将警告打印输出到错误log文件. 如果你对于MySQL有任何问题
#你应该打开警告log并且仔细审查错误日志,查出可能的原因.
#log_warnings
#记录慢速查询. 慢速查询是指消耗了比 “long_query_time” 定义的更多时间的查询.
#如果 log_long_format 被打开,那些没有使用索引的查询也会被记录.
#如果你经常增加新查询到已有的系统内的话. 一般来说这是一个好主意,
log_slow_queries
#所有的使用了比这个时间(以秒为单位)更多的查询会被认为是慢速查询.
#不要在这里使用”1″, 否则会导致所有的查询,甚至非常快的查询页被记录下来(由于MySQL 目前时间的精确度只能达到秒的级别).
long_query_time = 2
#在慢速日志中记录更多的信息.
#一般此项最好打开.
#打开此项会记录使得那些没有使用索引的查询也被作为到慢速查询附加到慢速日志里
log_long_format
#此目录被MySQL用来保存临时文件.例如,
#它被用来处理基于磁盘的大型排序,和内部排序一样.
#以及简单的临时表.
#如果你不创建非常大的临时文件,将其放置到 swapfs/tmpfs 文件系统上也许比较好
#另一种选择是你也可以将其放置在独立的磁盘上.
#你可以使用”;”来放置多个路径
#他们会按照roud-robin方法被轮询使用.
#tmpdir = /tmp
#复制有关的设置
#唯一的服务辨识号,数值位于 1 到 2^32-1之间.
#此值在master和slave上都需要设置.
#如果 “master-host” 没有被设置,则默认为1, 但是如果忽略此选项,MySQL不会作为master生效.
server-id = 1
#复制的Slave (去掉master段的注释来使其生效)
#为了配置此主机作为复制的slave服务器,你可以选择两种方法:
#1) 使用 CHANGE MASTER TO 命令 (在我们的手册中有完整描述) -
#语法如下:
#CHANGE MASTER TO MASTER_HOST=, MASTER_PORT= ,
#MASTER_USER=, MASTER_PASSWORD= ;
#你需要替换掉 , , 等被尖括号包围的字段以及使用master的端口号替换 (默认3306).
#例子:
#CHANGE MASTER TO MASTER_HOST=’125.564.12.1′, MASTER_PORT=3306,
#MASTER_USER=’joe’, MASTER_PASSWORD=’secret’;
#或者
#2) 设置以下的变量. 不论如何, 在你选择这种方法的情况下, 然后第一次启动复制(甚至不成功的情况下,
#例如如果你输入错密码在master-password字段并且slave无法连接),
#slave会创建一个 master.info 文件,并且之后任何对于包含在此文件内的参数的变化都会被忽略
#并且由 master.info 文件内的内容覆盖, 除非你关闭slave服务, 删除 master.info 并且重启slave 服务.
#由于这个原因,你也许不想碰一下的配置(注释掉的) 并且使用 CHANGE MASTER TO (查看上面) 来代替所需要的唯一id号位于 2 和 2^32 – 1之间
#(并且和master不同)
#如果master-host被设置了.则默认值是2
#但是如果省略,则不会生效
#server-id = 2
#复制结构中的master – 必须
#master-host =
#当连接到master上时slave所用来认证的用户名 – 必须
#master-user =
#当连接到master上时slave所用来认证的密码 – 必须
#master-password = #转载请注明文章来源:
#master监听的端口.
#可选 – 默认是3306
#master-port =
#使得slave只读.只有用户拥有SUPER权限和在上面的slave线程能够修改数据.
#你可以使用此项去保证没有应用程序会意外的修改slave而不是master上的数据
#read_only
MyISAM 相关选项
#关键词缓冲的大小, 一般用来缓冲MyISAM表的索引块.
#不要将其设置大于你可用内存的30%,
#因为一部分内存同样被OS用来缓冲行数据
#甚至在你并不使用MyISAM 表的情况下, 你也需要仍旧设置起 8-64M 内存由于它同样会被内部临时磁盘表使用.
key_buffer_size = 32M
#用来做MyISAM表全表扫描的缓冲大小.
#当全表扫描需要时,在对应线程中分配.
read_buffer_size = 2M
#当在排序之后,从一个已经排序好的序列中读取行时,行数据将从这个缓冲中读取来防止磁盘寻道.
#如果你增高此值,可以提高很多ORDER BY的性能.
#当需要时由每个线程分配
read_rnd_buffer_size = 16M
#MyISAM 使用特殊的类似树的cache来使得突发插入
#(这些插入是,INSERT … SELECT, INSERT … VALUES (…), (…), …, 以及 LOAD DATA
#INFILE) 更快. 此变量限制每个进程中缓冲树的字节数.
#设置为 0 会关闭此优化.
#为了最优化不要将此值设置大于 “key_buffer_size”.
#当突发插入被检测到时此缓冲将被分配.
bulk_insert_buffer_size = 64M
#此缓冲当MySQL需要在 REPAIR, OPTIMIZE, ALTER 以及 LOAD DATA INFILE 到一个空表中引起重建索引时被分配.
#这在每个线程中被分配.所以在设置大值时需要小心.
myisam_sort_buffer_size = 128M
#MySQL重建索引时所允许的最大临时文件的大小 (当 REPAIR, ALTER TABLE 或者 LOAD DATA INFILE).
#如果文件大小比此值更大,索引会通过键值缓冲创建(更慢)
myisam_max_sort_file_size = 10G
#如果被用来更快的索引创建索引所使用临时文件大于制定的值,那就使用键值缓冲方法.
#这主要用来强制在大表中长字串键去使用慢速的键值缓冲方法来创建索引.
myisam_max_extra_sort_file_size = 10G
#如果一个表拥有超过一个索引, MyISAM 可以通过并行排序使用超过一个线程去修复他们.
#这对于拥有多个CPU以及大量内存情况的用户,是一个很好的选择.
myisam_repair_threads = 1
#自动检查和修复没有适当关闭的 MyISAM 表.
myisam_recover
#默认关闭 Federated
skip-federated
#BDB 相关选项
#如果你运行的MySQL服务有BDB支持但是你不准备使用的时候使用此选项. 这会节省内存并且可能加速一些事.
skip-bdb
INNODB 相关选项
#如果你的MySQL服务包含InnoDB支持但是并不打算使用的话,
#使用此选项会节省内存以及磁盘空间,并且加速某些部分
#skip-innodb
#附加的内存池被InnoDB用来保存 metadata 信息
#如果InnoDB为此目的需要更多的内存,它会开始从OS这里申请内存.
#由于这个操作在大多数现代操作系统上已经足够快, 你一般不需要修改此值.
#SHOW INNODB STATUS 命令会显示当先使用的数量.
innodb_additional_mem_pool_size = 16M
#InnoDB使用一个缓冲池来保存索引和原始数据, 不像 MyISAM.
#这里你设置越大,你在存取表里面数据时所需要的磁盘I/O越少.
#在一个独立使用的数据库服务器上,你可以设置这个变量到服务器物理内存大小的80%
#不要设置过大,否则,由于物理内存的竞争可能导致操作系统的换页颠簸.
#注意在32位系统上你每个进程可能被限制在 2-3.5G 用户层面内存限制,
#所以不要设置的太高.
innodb_buffer_pool_size = 2G
#InnoDB 将数据保存在一个或者多个数据文件中成为表空间.
#如果你只有单个逻辑驱动保存你的数据,一个单个的自增文件就足够好了.
#其他情况下.每个设备一个文件一般都是个好的选择.
#你也可以配置InnoDB来使用裸盘分区 – 请参考手册来获取更多相关内容
innodb_data_file_path = ibdata1:10M:autoextend
#设置此选项如果你希望InnoDB表空间文件被保存在其他分区.
#默认保存在MySQL的datadir中.
#innodb_data_home_dir =
#用来同步IO操作的IO线程的数量. This value is
#此值在Unix下被硬编码为4,但是在Windows磁盘I/O可能在一个大数值下表现的更好.
innodb_file_io_threads = 4
#如果你发现InnoDB表空间损坏, 设置此值为一个非零值可能帮助你导出你的表.
#从1开始并且增加此值知道你能够成功的导出表.
#innodb_force_recovery=1
#在InnoDb核心内的允许线程数量.
#最优值依赖于应用程序,硬件以及操作系统的调度方式.
#过高的值可能导致线程的互斥颠簸.
innodb_thread_concurrency = 16
#如果设置为1 ,InnoDB会在每次提交后刷新(fsync)事务日志到磁盘上,
#这提供了完整的ACID行为.
#如果你愿意对事务安全折衷, 并且你正在运行一个小的食物, 你可以设置此值到0或者2来减少由事务日志引起的磁盘I/O
#0代表日志只大约每秒写入日志文件并且日志文件刷新到磁盘.
#2代表日志写入日志文件在每次提交后,但是日志文件只有大约每秒才会刷新到磁盘上.
innodb_flush_log_at_trx_commit = 1
#加速InnoDB的关闭. 这会阻止InnoDB在关闭时做全清除以及插入缓冲合并.
#这可能极大增加关机时间, 但是取而代之的是InnoDB可能在下次启动时做这些操作.
#innodb_fast_shutdown
#用来缓冲日志数据的缓冲区的大小.
#当此值快满时, InnoDB将必须刷新数据到磁盘上.
#由于基本上每秒都会刷新一次,所以没有必要将此值设置的太大(甚至对于长事务而言)
innodb_log_buffer_size = 8M
#在日志组中每个日志文件的大小.
#你应该设置日志文件总合大小到你缓冲池大小的25%~100%
#来避免在日志文件覆写上不必要的缓冲池刷新行为.
#不论如何, 请注意一个大的日志文件大小会增加恢复进程所需要的时间.
innodb_log_file_size = 256M
#在日志组中的文件总数.
#通常来说2~3是比较好的.
innodb_log_files_in_group = 3
#InnoDB的日志文件所在位置. 默认是MySQL的datadir.
#你可以将其指定到一个独立的硬盘上或者一个RAID1卷上来提高其性能
#innodb_log_group_home_dir
#在InnoDB缓冲池中最大允许的脏页面的比例.
#如果达到限额, InnoDB会开始刷新他们防止他们妨碍到干净数据页面.
#这是一个软限制,不被保证绝对执行.
innodb_max_dirty_pages_pct = 90
#InnoDB用来刷新日志的方法.
#表空间总是使用双重写入刷新方法
#默认值是 “fdatasync”, 另一个是 “O_DSYNC”.
#innodb_flush_method=O_DSYNC
#在被回滚前,一个InnoDB的事务应该等待一个锁被批准多久.
#InnoDB在其拥有的锁表中自动检测事务死锁并且回滚事务.
#如果你使用 LOCK TABLES 指令, 或者在同样事务中使用除了InnoDB以外的其他事务安全的存储引擎
#那么一个死锁可能发生而InnoDB无法注意到.
#这种情况下这个timeout值对于解决这种问题就非常有帮助.
innodb_lock_wait_timeout = 120
[mysqldump]
#不要在将内存中的整个结果写入磁盘之前缓存. 在导出非常巨大的表时需要此项
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
#仅仅允许使用键值的 UPDATEs 和 DELETEs .
#safe-updates
[isamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
[myisamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
#增加每个进程的可打开文件数量.
#警告: 确认你已经将全系统限制设定的足够高!
#打开大量表需要将此值设b
open-files-limit = 8192
安装启动、相关目录
示例:
安装
rmp -ivh MySQL-server-4.1.22-0.glibc23.i386.rpm --nodeps
rmp -ivh MySQL-client-4.1.22-0.glibc23.i386.rpm --nodeps
查看是否安装成功
netstat -atln 命令看到3306端口开放说明安装成功
登录
mysql [-u username] [-h host] [-p[password]] [dbname]
初始无密码,这个mysql可执行文件在/usr/bin/mysql
目录
1、数据库目录
/var/lib/mysql/
2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)
3、相关命令
/usr/bin(mysqladmin mysqldump等命令)
4、启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
修改登录密码
MySQL默认没有密码
usr/bin/mysqladmin -u root passwor ‘xxxx’
格式:mysqladmin -u用户名 -p旧密码 password 新密码
启动与停止
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可
启动:
/etc/init.d/mysql start
停止:
/usr/bin/mysqladmin -u root -p shutdown
重新启动:
sudo /etc/init.d/mysql restart
自动启动:
察看mysql是否在自动启动列表中 /sbin/chkconfig --list
把MySQL添加到你系统的启动服务组里面去 /sbin/chkconfig --add mysql
把MySQL从启动服务组里面删除 /sbin/chkconfig --del mysql
配置
将/usr/share/mysql/my-medium点吸烟 f复制到/etc/my点吸烟 f,以后修改my点吸烟 f文件来修改mysql的全局设置
将my点吸烟 f文件中的innodb_flush_log_at_trx_commit设成0来优化
[mysqld]后添加添加lower_case_table_names设成1来不区分表名的大小写
设置字符集
MySQL的默认编码是Latin1,不支持中文,要支持需要把数据库的默认编码修改为gbk或者utf8。
1、中止MySQL服务(bin/mysqladmin -u root shutdown)
2、在/etc/下找到my点吸烟 f,如果没有就把MySQL的安装目录下的support-files目录下的my-medium点吸烟 f复制到/etc/下并改名为my点吸烟 f即可
3、打开my点吸烟 f以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭
4、启动MySQL服务(bin/mysqld_safe )
查询字符集:show variables like ‘%set%’;
ls 指令是Linux下最常用的指令之一。
ls 命令将每个由 Directory 参数指定的目录或者每个由 File 参数指定的名称写到标准输出,以及您所要求的和标志一起的其它信息。
如果不指定 File 或 Directory 参数, ls 命令显示当前目录的内容。
基本介绍 中文名 :ls 类属 :指令 所属领域 :计算机 套用范围 :linux 指令释义,描述,许可权表示,标志,注意事项, 指令释义 ls 指令可以说是Linux下最常用的指令之一。它有许多的选项,下面列出了 ls 指令的绝大多数选项。 List information about the FILEs (the current directory by default).Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. 用法:ls [选项]... [档案]... 运用举例:
1.列出具体档案 #ls -al 这个最常用,可是往往又不彻底符合要求,
2.列出一切子目录的档案:#ls -R 上个指令仅仅列出了本目录下的一切目录和档案,可是目录下的档案不会循环的列出。
3.若是档案过多一屏看不完,怎么办?并且,关于想找到许多档案中的某个档案的姓名。
3.1分屏显现:#ls -l|more 能在当时屏退出,很有用,但不能一页一页翻屏
#ls -l|less 能用pgup,pgdw 翻页,但不能在当时方位退出
3.2横向输出尽可能多的显现档案姓名: #ls -m
-a 列出目录下的一切档案,包含以 . 最初的隐含档案。常用
-m 横向输出档案名称,并以“,”作分格符。
-c 输出档案的 i 节点的修正时刻,并以此排序。
-R 列出一切子目录下的档案。
-l 列出档案的具体信息。
-s 在每个档案名称后输出该档案的巨细。
-k 以 k 位元组的方式表明档案的巨细。
-i 输出档案的 i 节点的索引信息。
2.只显现目录:#ls -l |grep ^d 3.只显现非目录档案:#ls -l |grep ^[^d]
3.对输出档案进行各种排序;
3.1 依照字元序(default): #ls -l
3.2 依照修正时刻排序: #ls -t 近来修正在最上面
3.3 逆排序 : #ls -r
3.4 按档案巨细排序 :#ls -S 大档案的在上
3.5 依照档案扩展名(最终一个.后的字元)排序: #ls -X
3.6 按数字排序 :#ls -lv
-t 以时刻排序。
-r 对目录反向排序
-f -U 对输出的档案不排序。
-X 以档案的扩展名(最终一个 . 后的字元)排序。
-S 以档案巨细排序。
-u 以档案前次被拜访的时刻排序。
-n 用数字的 UID,GID 替代称号。
-o 显现档案的除组信息外的具体信息。
-p -F 在每个档案名称后附上一个字元以阐明该档案的类型,“*”表明可执行的一般
档案;“/”表明目录;“@”表明符号连线;“|”表明FIFOs;“=”表明套接字(sockets)。
-q 用?替代不行输出的字元。
-x 按列输出,横向排序。
暂时无用选项:
-b 把档案名称中不可输出的字元用反斜杠加字元编号(就象在C言语里相同)的方式列出。不常用
-d 将目录象档案相同显现,而不是显现其下的档案。
-e 输出时刻的悉数信息,而不是输出简略信息。 没用
-g 无用。
-A 显现除 “.”和“..”外的一切档案。
-B 不输出以 “~”结束的备份档案。
-C 按列输出,纵向排序。
-G 输出档案的组的信息。
-L 列出连线档案名称而不是连线到的档案。
-N 不约束档案长度。
-Q 把输出的档案名称用双引号括起来。
-1 一行只输出一个档案。
--color=no 不显现五颜六色档案名称
--help 在规范输出上显现协助信息。
--version 在规范输出上输出版别信息并退出 描述 ls 命令将每个由 Directory 参数指定的目录或者每个由 File 参数指定的名称写到标准输出,以及您所要求的和标志一起的其它信息。如果不指定 File 或 Directory 参数, ls 命令显示当前目录的内容。 在互斥对中指定多个选项不看成错误。每对中最后一个指定的选项确定输出格式。 预设情况下,ls 命令按照档案名称的字母顺序显示所有信息。整理顺序由环境变数 LANG 或 LC_COLLATE 环境变数确定。在 AIX 5L Version 5.2 General Programming Concepts: Writing and Debugging Programs 中的 "National Language Support Overview for Programming" 包含更多细节。 当 ls 命令显示目录内容时,它不显示名称以 .(点)开头的档案项,除非使用了 -a 或者 -A 标志。如果命令由 root 用户执行,它预设使用 -A 标志。 格式化输出有三种主要方式: * 每行列出一项。 * 通过指定 -C 或 -x 标志以多列列出各项。当向 tty 输出时,-C 标志是预设格式。如果档案或目录名太长,ls 命令显示单列输出。 * 通过指定 -m 标志可以以逗号分隔系列列出项。 要确定输出行中字元位置的数目,ls 命令使用环境变数 COLUMNS。如果没有设定此变数,命令获取显示的当前列值。如果使用这些方法,ls 命令还不能确定字元位置的数量,它就使用预设值 80。 使用 -e 和 -l 标志所显示的方式解释如下: 如果第一个字元是: d 此项为目录。 b 此项为块特殊档案。 c 此项为字元特殊档案。 l 此项为符号连结,或者指定 -N 标志,或者符号连结不指向现有档案。 p 此项为一个先进先出(FIFO)特殊档案。 s 此项为本地套接字。 - 此项为普通档案。 接下来的 9 个字元被分成 3 个集合,每个集合 3 个字元。第一组 3 字元集合显示所有者许可权。下一组 3 字元集合显示了组中其它用户的许可权。最后 3 字元集合显示了访问此档案的其它任何人的许可权。每个集合中的三个字元各自表示了档案的读、写和执行许可权。目录的执行许可权让您可以搜寻目录中的指定档案。 许可权表示 如下: r 读 w 写(编辑) x 执行(搜寻) - 没有授予相应的许可权 如果档案有 set-group-ID 方式,那么组执行许可权字元是 s。如果档案有 set-user-ID 方式,则用户执行许可权字元是 s。如果方式位被设定为 01000(八进制)(请参阅 chmod 命令以获得此方式的含义),最后一个方式字元(通常 x 或者 -)是 T。如果没有设定相应的执行许可权,set-ID 的指示和方式位 01000 以大写字母开头(分别为 S 和 T)。方式 t 表示粘滞位是为档案或目录而设定的。 当使用 -e 标志时,其显示方式与使用 -l 标志一样,除了多出了第 11 个字元,其解释如下: + 表示档案有扩展安全性信息。例如,档案可能在方式中有扩展的 ACL、TCB 或者 TP 属性。 通过使用 aclget 命令,可以显示档案的访问控制信息(ACL)。通过使用 chtcb 命令,可以显示 TCB 和 TP 属性的值。 - 表示档案没有扩展安全性信息。 当列出目录中档案大小时,ls 命令显示块总数,包括间接块。 标志 -A 列出所有条目,除了 .(点)和 ..(点-点)。 -a 列出目录中所有项,包括以 .(点)开始的项。 -b 以八进制 ( \nnn) 表示法显示非列印字元。 -c 使用索引节点最近一次修改的时间,用以排序(当带 -t 标志使用时)或者用以显示(当带 -l 标志使用时)。该标志必须和 -t 或 -l 标志或者两者一起使用。 -C 以多列纵向排序输出。当往终端输出时,此为预设方法。 -d 仅仅显示指定目录信息。目录和档案一样处理,这在当使用 -l 标志获取目录状态时非常有用。 -e 显示方式(包括安全信息)、连结数目、所有者、组、大小(按位元组)、最近修改时间和每个档案名称称。如果档案是特殊档案,大小栏位包含主要和次要设备数目。如果档案是符号连结,会列印所连结到的档案的路径名,其前有 -(减号,大于号)符号。显示符号连结的属性。 -E 列出档案的保留空间、固定范围大小和范围分配标志信息。使用该标志时,必须指定 -l 标志。 -f 在每个存储槽中列出 Directory 参数指定的每个目录的名称。该标志关闭 -l、-t、 -s 和 -r 标志并且开启 -a 标志。列表的顺序就是项出现在目录中的顺序。 -F 如果档案是目录,在档案名称后面放置一个 /(斜杠),如果档案可执行,则放置一个 *(星号),如果档案为套接字,则放置一个 =(等号),如果为 FIFO,则放置一个 |(管道)符号,如果是符号连结,则放置一个 @。 注:只有在使用 -N 标志或者连结指向一个不存在的档案时,符号连结显示时才后跟 -。否则,显示目标档案的有关信息。通过输入 ls -f 命令,也可以调用此选项。 -g 与使用 -l 标志时显示同样的信息,除了 -g 标志禁止显示所有者和符号连结信息。 -H 如果在命令行上指定了引用类型目录档案的符号连结,ls 命令将档案信息和档案类型估计为由连结引用的档案的信息和类型,而非连结本身;然而,ls 命令将写连结本身的名称,而非由连结引用的档案。 -i 显示每个档案报告第一列中的索引节点数目。 -L 列出连结引用的档案或目录内容。此为预设操作。后跟符号连结。如果使用 -l 选项,-N 选项就成为预设值,不后跟符号连结。当使用 -l 选项时,仅有 -L 选项能够覆盖 -N 预设值。 -l (L 的小写)显示方式、连结数目、所有者、组、大小(按位元组)和每个档案最近一次修改时间。如果档案是特殊档案,大小栏位包含主要和次要设备数目。如果最近一次修改时间大于六个月之前,时间栏位以 月份 日期 年份 的格式显示,然而六个月内修改的档案以 月份 日期 时间 的格式显示。 如果档案是符号连结,,列印所连结到的档案的路径名,其前跟 -。显示符号连结的属性。-n、-g、和 -o 标志覆盖 -l 标志。 注意事项 1. 符号连结档案后跟一个箭头,然后是符号连结的内容。 2. 当使用 -l 选项时,通过执行 mkpasswd 命令,可以提高 ls 命令的执行性能。当目录包含不同用户拥有的档案时,这非常有用,比如 /tmp 目录。 -m 使用流输出格式(逗号分隔系列)。 -n -n 标志除显示用户和组 ID 而不是用户和组名称以外,它显示和 -l 标志同样的信息。 -N 当确定档案状态时,不跟在符号连结之后。 注:如果使用 -L 和 -N 两个标志,最后一个标志起作用。同样的,任何时候给定一个包含以 /(斜杠)作为最后字元的符号连结,不管使用何种选项,后面都会跟有连结。 -o -o 标志除禁止显示组和符号连结信息之外,它显示和 -l 标志同样的信息。 -p 如果档案是目录,在每个档案名称后面放置一个斜杠。当将 ls 命令的输出通过管道传递到 pr 命令时,这很有用,如下所示: ls -p | pr -5 -t -w80 -q 将档案名称中的非列印字元显示成 ?(问号)。 -r 反转排序顺序,适当的按字母逆向排序或者首先排序最旧的档案。 -R 递归列出所有子目录。 -s 按照千位元组(包括间接块)给出每一项的大小。 -t 按照最近一次修改时间(最近的最先)而不是名称排序。 -u 使用最近访问时间,而不是最近修改时间用以排序(当使用 -t 标志)或者显示(当使用 -l 标志)。如果不和 -t 或 -l 标志或两者一起使用,则该标志无效。 -x 以多列格式横向排序输出。 -1 强制输出为每行一项格式。当输出没有定向到终端时,此为预设值。 退出状态 此命令返回以下退出值: 0 写所有档案成功。 0 产生错误。 示例 1. 要列出当前目录中的所有档案,请输入: ls -a 列出所有档案,包括 .(点)、..(点点)和其他以点开头的档案。 2. 要显示详细信息,请输入: ls -l chap1 .profile 显示一个长列表,包括关于 chap1 和 .profile 的详细信息。 3. 要显示有关目录的详细信息,请输入: ls -d -l . manual manual/chap1 显示目录 . 和 manual 以及档案 manual/chap1 的长列表。不使用 -d 标志时,会列出 . 和 manual 目录中的所有档案,而不是关于目录本身的详细信息。 4. 要按照修改时间列出档案,请输入: ls -l -t 显示最近被修改档案的长列表,较旧的档案跟在后面。 档案 /usr/bin/ls 包含 ls 命令。 /etc/passwd 包含用户 ID。 /etc/group 包含组 ID。 /usr/share/lib/terminfo/* 包含终端信息。
php是无法更新 coreseek 的索引的,需要使用coreseek的语法,配合定时任务来自动更新索引。
这个写起来很麻烦,我们的系统正好用了 coreseek ,说一下我的思路吧。
1、首先建立一个 search 表,这个表用来存你要进行搜索的、经过分词的数据,分词系统你们自己选,我使用的是php的pscws4中文分词。
DROP TABLE IF EXISTS `search`;
CREATE TABLE `search` (
`searchid` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`content` text NOT NULL,
`add_time` int(11) NOT NULL,
PRIMARY KEY (`searchid`)
) ENGINE=MyISAM AUTO_INCREMENT=15209 DEFAULT CHARSET=utf8;
2、还需要一个 索引计数表 search_counter,这个表用来存放每次索引更新后的最大一个ID,下次更新索引的时候,就不需要从头更新了,只需要比这个ID大的就可以。
DROP TABLE IF EXISTS `search_counter`;
CREATE TABLE `search_counter` (
`counter_id` int(11) NOT NULL,
`max_doc_id` int(11) NOT NULL,
PRIMARY KEY (`counter_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3、配置 coreseek ,以下是我在windows下 coreseek的配置文件,linux 在服务器上,没去找。这里配置了2个索引源,一个是main,一个是增量索引delta,这样不需要每次重建所有索引,只需要合并 main和delta就可以了。
#源定义
source main
{
type = mysql
sql_host = 192.168.0.10
sql_user = root
sql_pass = root
sql_db = database
sql_port = 3306
sql_query_pre = SET NAMES utf8
sql_query_pre = REPLACE INTO search_counter SELECT 1, MAX(searchid) FROM qhb_search
sql_query = SELECT searchid, title, content, controller_id, controller,add_time FROM search
#sql_query第一列id需为整数
#title、content作为字符串/文本字段,被全文索引
#sql_attr_uint = searchid #从SQL读取到的值必须为整数
sql_attr_uint = controller_id # 数据库ID过滤
sql_attr_uint = controller # 控制器过滤
sql_attr_timestamp = add_time #从SQL读取到的值必须为整数,作为时间属性
sql_query_info_pre = SET NAMES utf8 #命令行查询时,设置正确的字符集
#sql_query_info = SELECT * FROM qhb_search WHERE searchid=$searchid #命令行查询时,从数据库读取原始数据信息
}
source delta : main
{
sql_query_pre = SET NAMES utf8
sql_query = SELECT searchid, title, content, controller_id, controller,add_time FROM qhb_search WHERE searchid( SELECT max_doc_id FROM qhb_search_counter WHERE counter_id=1 )
sql_query_post = REPLACE INTO qhb_search_counter SELECT 1, MAX(searchid) FROM qhb_search
}
#index定义
index main
{
source = main #对应的source名称
path = D:/WebSoft/coreseek/var/data/main #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
docinfo = extern
mlock = 0
morphology = none
min_word_len = 1
html_strip = 0
#中文分词配置,详情请查看:
#charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾
charset_dictpath = D:/WebSoft/coreseek/etc/ #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/...
charset_type = zh_cn.utf-8
}
index delta : main
{
source = delta
path = D:/WebSoft/coreseek/var/data/delta
}
#全局index定义
indexer
{
mem_limit = 128M
}
#searchd服务定义
searchd
{
listen = 9312
read_timeout = 5
max_children = 30
max_matches = 1000
seamless_rotate = 0
preopen_indexes = 0
unlink_old = 1
pid_file = D:/WebSoft/coreseek/var/log/searchd_main.pid #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
log = D:/WebSoft/coreseek/var/log/searchd_main.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
query_log = D:/WebSoft/coreseek/var/log/query_main.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
}
4、建立索引。必须要先建立索引, coreseek 才能启动。下面是我在Windows的建立索引命令,如何使用命令行我就不赘述了。
D:\WebSoft\coreseek\bin\indexer --all --config d:\WebSoft\coreseek\bin\sphinx.conf
5、配置并启动服务
D:\WebSoft\coreseek\bin\searchd --install --config
D:\WebSoft\coreseek\bin\sphinx.conf --servicename coreseek
6、Windows创建定时任务,每分钟更新一次索引
D:\WebSoft\coreseek\bin\indexer.exe --config D:\WebSoft\coreseek\bin\sphinx.conf delta --rotate
echo indexing, window will close when complete
7、Windows创建定时任务,每天凌晨2点合并索引
D:\WebSoft\coreseek\bin\indexer.exe --config D:\WebSoft\coreseek\bin\sphinx.conf --merge main delta --rotate
echo indexing, window will close when complete
8、附上 创建索引,重建索引,合并索引在windows及linux上的方法,以及一些使用上的小问题
windows:
建立索引
D:\WebSoft\coreseek\bin\indexer --all --config d:\WebSoft\coreseek\bin\sphinx.conf
重建索引
D:\WebSoft\coreseek\bin\indexer --config D:\WebSoft\coreseek\bin\sphinx.conf main --rotate
增量索引
D:\WebSoft\coreseek\bin\indexer --config D:\WebSoft\coreseek\bin\sphinx.conf delta --rotate
合并索引
D:\WebSoft\coreseek\bin\indexer --config D:\WebSoft\coreseek\bin\sphinx.conf --merge main delta --rotate
配置并启动服务
D:\WebSoft\coreseek\bin\searchd --install --config D:\WebSoft\coreseek\bin\sphinx.conf --servicename coreseek
创建自定义词库方法:
1、先去 搜狗细胞词库下载需要的词库
2、使用 深蓝词库转换 将词库转换为 txt
3、使用PHP程序将 生成的txt转换为 coreseek 所需要的格式
4、附加到 unigram.txt
5、使用命令更新分词词库
cmd 进入 bin目录,执行下面命令
mmseg -u D:\WebSoft\coreseek\etc\unigram.txt
6、将生成的 unigram.txt.uni 改名为:uni.lib
7、重建索引
8、重启coreseek服务
注意:
必须先建立索引,服务才能启动
1、coreseek索引或者查询时提示ERROR: invalid token in etc解决办法
该提示表示当前的配置文件的编码不是UTF-8(无BOM头)格式,无法正确解析,请使用编辑软件打开配置文件,另存为UTF-8(无BOM头)格式;
2、failed to lock .....try --rotate
索引已经建立,使用重建索引命令
3、报警告:failed to scanf pid from
没有启动coreseek服务
4、过滤搜索结果,必须使用数组传递,只支持
无符号整数(1-32位宽);
UNIX 时间戳(timestamps);
浮点值(32位,IEEE 754单精度);
字符串序列 (尤其是计算出的整数值);
多值属性 MVA( multi-value attributes ) (32位无符号整型值的变长序列)
$this-shpinx-SetFilter('controller', array(1,2) );
CENTOS 操作方法
开机启动coreseek搜索服务:
vi /etc/rc.d/rc.local
在最后一行添加
/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/bin/sphinx.conf
##如要停止搜索服务,请使用/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/bin/sphinx.conf --stop
##如要已启动服务,要更新索引,请使用/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/bin/sphinx.conf --all --rotate
linux下编辑定时任务 crontab -e
#凌晨4点合并索引,其余时间每分钟更新索引
* 0-3 * * * /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf delta --rotate
* 6-23 * * * /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf delta --rotate
0 4 * * * /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf --merge main delta --rotate
启动服务:
/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/bin/sphinx.conf
建立索引
/usr/local/coreseek/bin/indexer --all --config /usr/local/coreseek/bin/sphinx.conf
重建索引
/usr/local/coreseek/bin/indexer --config /usr/local/coreseek/bin/sphinx.conf main --rotate
增量索引
/usr/local/coreseek/bin/indexer --config /usr/local/coreseek/bin/sphinx.conf delta --rotate
合并索引
/usr/local/coreseek/bin/indexer --config /usr/local/coreseek/bin/sphinx.conf --merge main delta --rotate
使用OPTIMIZE TABLE语句可以。
OPTIMIZE TABLE语法
OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...
如果您已经删除了表的一大部分,或者如果您已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改,则应使用OPTIMIZE TABLE。被删除的记录被保持在链接清单中,后续的INSERT操作会重新使用旧的记录位置。您可以使用OPTIMIZE TABLE来重新利用未使用的空间,并整理数据文件的碎片。
在多数的设置中,您根本不需要运行OPTIMIZE TABLE。即使您对可变长度的行进行了大量的更新,您也不需要经常运行,每周一次或每月一次即可,只对特定的表运行。
OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。
对于MyISAM表,OPTIMIZE TABLE按如下方式操作:
1. 如果表已经删除或分解了行,则修复表。
2. 如果未对索引页进行分类,则进行分类。
3. 如果表的统计数据没有更新(并且通过对索引进行分类不能实现修复),则进行更新。
对于BDB表,OPTIMIZE TABLE目前被映射到ANALYZE TABLE上。对于InnoDB表,OPTIMIZE TABLE被映射到ALTER TABLE上,这会重建表。重建操作能更新索引统计数据并释放成簇索引中的未使用的空间。
要重新使用未使用的空间并减小文件的尺寸,则使用OPTIMIZE TABLE语句或myisamchk应用程序重新编排表。OPTIMIZE TABLE更简便,但是myisamchk速度更快。