Archive

标签为 ‘Linux’的文章

centos 启动的错误

昨晚把centos搞出问题了,貌似是强制关机导致的
重启时出现以下错误信息
unexpected inconsistency;RUN fsck MANUALLY
An error occurred during the filesystem check
Propping you to shell the system will reboot
when you leave the shell
Give root password for mantennance

  完整阅读

linux shell的重定向

常用的有三个(共10个):
0(stdin,标准输入)
1(stdout,标准输出)
2(stderr,标准错误输出) 完整阅读

linux服务的相关配置命令

一、常用的服务名称
apache的服务程序为httpd
mysql的服务程序为mysqld

完整阅读

linux的easy_install

今天总算是真的用了linux,以后以centos作为主要的操作系统

在安装了python 2.5之后,还需要安装mysqlDB和autumn
其中在安装autumn的时候用到了easy_install autumn
一开始还以为easy_install是linux的命令
在网上小搜了一下发现原来是python的组件,叫python-setuptools

当使用easy_install安装的时,提示找不到命令,只要装个python-setuptools就可以了
呵呵,在centos我用yum install python-setuptools安装好了
就直接easy_install autumn

嘿,搞定!

Mysql权限详解

一.权限表
mysql数据库中的3个权限表:user 、db、 host
权限表的存取过程是:
1)先从user表中的host、 user、 password这3个字段中判断连接的IP、用户名、密码是否存在表中,存在则通过身份验证;

完整阅读

Mysql权限-存储过程部分

环境:
system: CentOS release 5.3
mysql: 5.0.45
phpMyAdmin:2.11.9.5
问题:
新建一个用户testuser
赋予它操作一个数据库testdb的全部权限:
[sql]
REVOKE ALL PRIVILEGES ON * . * FROM ‘testuser’@'%’;
GRANT ALL PRIVILEGES ON `testdb` . * TO ‘testuser’@'%’ WITH GRANT OPTION ;
[/sql]
testuser查看不了testdb的存储过程
只看到 [sql]Drop PROCEDURE `testPro` // 【testPro是testdb的存储过程】[/sql]
所有的操作都是通过phpMyadmin操作的
分析:
按道理说,既然赋予了testuser对testdb的所有权限,testuser应该可以查看testdb的存储过程
但是却查看不了,为何?
找了很久,不知道原因
解决方法:
使用一个root权限的用户登录
执行
[sql]
REVOKE ALL PRIVILEGES ON * . * FROM ‘testuser’@'%’;
GRANT ALL PRIVILEGES ON * . * TO ‘testuser’@'%’ WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UpdateS_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
[/sql]
【这是赋予了testuser所有的权限】
然后手动删除mysql数据库的user表中的权限
[sql]
Update `mysql`.`user` SET `Select_priv` = ‘N’,
`Insert_priv` = ‘N’,
`Update_priv` = ‘N’,
`Delete_priv` = ‘N’,
`Create_priv` = ‘N’,
`Drop_priv` = ‘N’,
`Reload_priv` = ‘N’,
`Shutdown_priv` = ‘N’,
`Process_priv` = ‘N’,
`File_priv` = ‘N’,
`Grant_priv` = ‘N’,
`References_priv` = ‘N’,
`Index_priv` = ‘N’,
`Alter_priv` = ‘N’,
`Show_db_priv` = ‘N’,
`Super_priv` = ‘N’,
`Create_tmp_table_priv` = ‘N’,
`Lock_tables_priv` = ‘N’,
`Execute_priv` = ‘N’,
`Repl_slave_priv` = ‘N’,
`Repl_client_priv` = ‘N’,
`Create_view_priv` = ‘N’,
`Show_view_priv` = ‘N’,
`Create_routine_priv` = ‘N’,
`Alter_routine_priv` = ‘N’,
`Create_user_priv` = ‘N’
Where CONVERT( `user`.`Host` USING utf8 ) = CAST( 0×25 AS BINARY )
AND CONVERT( `user`.`User` USING utf8 ) = CAST( 0×7465737475736572 AS BINARY ) LIMIT 1 ;
[/sql]
【0×25是%的编码,0×7465737475736572 是testuser的编码】

tar命令

tar 命令
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。


下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出



下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名


# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思



压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux



解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar –xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip


总结
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压