手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表全部文章

mysql命令行常用命令

这是某人整理的东西,发现还是挺有用的。。

它来自于PHP博客,看着挺有用。值得摘抄

mysql命令行常用命令

第一招、mysql服务的启动和停止
net stop mysql
net start mysql

第二招、登陆mysql
语法如下: mysql -u用户名 -p用户密码
键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:
mysql>
注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP

第三招、增加新用户
格式:grant 权限 on  数据库.* to 用户名@登录主机 identified by "密码"
如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
如果你不想user1有密码,可以再打一个命令将密码去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by "";

第四招: 操作数据库
登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。
1、 显示数据库列表。
show databases;
缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。
2、 显示库中的数据表:
use mysql;
show tables;
3、 显示数据表的结构:
describe 表名;
4、 建库与删库:
create database 库名;
drop database 库名;
5、 建表:
use 库名;
create table 表名(字段列表);
drop table 表名;
6、 清空表中记录:
delete from 表名;
7、 显示表中的记录:
select * from 表名;

第五招、导出和导入数据
1. 导出数据:
mysqldump --opt test > mysql.test
即将数据库test数据库导出到mysql.test文件,后者是一个文本文件
如:mysqldump -u root -p123456 --databases dbname > mysql.dbname
就是把数据库dbname导出到文件mysql.dbname中。
2. 导入数据:
mysqlimport -u root -p123456 < mysql.dbname。
不用解释了吧。
3. 将文本数据导入数据库:
文本数据的字段数据之间用tab键隔开。
use test;
load data local infile "文件名" into table 表名;

 

MySQL 包括一个服务器进程管理数据库,以及一系列访问数据库和创建应用的工具:

mysql               : 在 MySQL 中执行 SQL 查询,也可以执行在文件中存储的SQL命令;
mysqlaccess  : 管理用户;
mysqladmin   : 管理数据库服务器,包括数据库的创建和移除;
mysqld            : 实际的 MySQL 服务器进程;
mysqldump    : 将数据库或表的定义和内容转储到文件;
mysqlhotcopy : 热备份;
mysqlimport   : 将不同文件格式的数据导入到 MySQL 表中;
mysqlshow    : 显示服务器或者任何对象(数据库和表)的信息。

mysql_secure_installation  :  用于管理 root 密码,远程访问、移除临时(测试)数据库及临时用户的一个脚本。

一般来讲,Root 应只用于数据库本机上登录 MySQL,我们可以增加一个拥有超级管理权限的用户 'admin' 来实现远程的维护。

Tips:

1、用 root 登录;(在命令行键入:mysql -u用户名 -p密码)
2、执行如下语句:
   mysql>grant all privilages on *.* to admin@localhost identified by 'password' with grant option;
   mysql>grant all privilages on *.* to admin@"%" identified by 'password' with grant option;

   "%"是通配符,授予 admin 用户可以从任何主机发起访问,password 是为 admin 用户设置的密码。

===============================================

mysql命令行常用命令

mysql命令行常用命令

第一招、mysql服务的启动和停止
net stop mysql
net start mysql

第二招、登陆mysql
语法如下: mysql -u用户名 -p用户密码
键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:
mysql>
注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP

第三招、增加新用户
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
如果你不想user1有密码,可以再打一个命令将密码去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by "";

第四招: 操作数据库
登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。
1、 显示数据库列表。
show databases;
缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。
2、 显示库中的数据表:
use mysql;
show tables;
3、 显示数据表的结构:
describe 表名;
4、 建库与删库:
create database 库名;
drop database 库名;
5、 建表:
use 库名;
create table 表名(字段列表);
drop table 表名;
6、 清空表中记录:
delete from 表名;
7、 显示表中的记录:
select * from 表名;

第五招、导出和导入数据
1. 导出数据:
mysqldump --opt test > mysql.test
即将数据库test数据库导出到mysql.test文件,后者是一个文本文件
如:mysqldump -u root -p123456 --databases dbname > mysql.dbname
就是把数据库dbname导出到文件mysql.dbname中。
2. 导入数据:
mysqlimport -u root -p123456 < mysql.dbname。
不用解释了吧。
3. 将文本数据导入数据库:
文本数据的字段数据之间用tab键隔开。
use test;
load data local infile "文件名" into table 表名;

 第六招、执行外部脚本文件

mysql - u test - p1234 --database BugFree < D:/GreenAMP/BugFree.sql

Tags: mysql

在手册上看到的spl_autoload

在手册上看到的,原文地址为:http://cn.php.net/manual/en/function.spl-autoload.php

很吃惊,原来,在默认情况下,spl_autoload的效率并不高?
我没有测试,原文测试的时间在07年,不知道现在的效率怎么样了。以后有空的时候测试一下。。。
以下是原文:
Note that, the orders of file extensions is important for performance. You should make the priority of your favourite file extension higest or use only one extension for your class files. Check out this example:

Some class files:

ClassA.php

PHP代码
  1. <?php class ClassA { var $val = 'Hello from class "ClassA"'; } ?>  

ClassB.php
PHP代码
  1. <?php class ClassB { var $val = 'Hello from class "ClassB"'; } ?>  

ClassC.php
PHP代码
  1. <?php class ClassC { var $val = 'Hello from class "ClassC"'; } ?>  

ClassD.php
PHP代码
  1. <?php class ClassD { var $val = 'Hello from class "ClassD"'; } ?>  

ClassE.php
PHP代码
  1. <?php class ClassE { var $val = 'Hello from class "ClassE"'; } ?>  


1. Simple:
PHP代码
  1. <?php  
  2. // default priority: .inc .php  
  3. for($n=65; $n<70; $n++) {  
  4.     $className = 'Class'.chr($n);  
  5.     spl_autoload($className);  
  6.     $ins = new $className;  
  7.     echo $ins->val.'<br>';  
  8. }  
  9. // 4.2 miliseconds  
  10. ?>  


2. Change priority:
PHP代码
  1. <?php  
  2. spl_autoload_extensions('.php,.inc');  
  3. // new priority: .php .inc  
  4. for($n=65; $n<70; $n++) {  
  5.     $className = 'Class'.chr($n);  
  6.     spl_autoload($className);  
  7.     $ins = new $className;  
  8.     echo $ins->val.'<br>';  
  9. }  
  10. // 1.4 miliseconds  
  11. ?>  


Or you can use this simple function that runs a bit faster for the extensions with lower priority :)
PHP代码
  1. <?php  
  2. function my_autoload($className$extList='.inc,.php') {  
  3.     $ext = explode(',',$extList);  
  4.     foreach($ext as $x) {  
  5.         $fname = $className.$x;  
  6.         if(@file_exists($fname)) {  
  7.             require_once($fname);  
  8.             return true;  
  9.         }  
  10.     }  
  11.     return false;  
  12. }  
  13.   
  14. for($n=65; $n<70; $n++) {  
  15.     $className = 'Class'.chr($n);  
  16.     my_autoload($className);  
  17.     $ins = new $className;  
  18.     echo $ins->val.'<br>';  
  19. }  
  20. // 2.6 miliseconds  
  21. ?>  

---
Safak Ozpinar - Istanbul University, Computer Engineering

Tags: spl_autoload

纪念那逝去的岁月

纪念那逝去的岁月。
本想摘取一些各大网站的新闻、稿件来做纪念的,结果
一片冷青

怎么办?我也不敢发声音。

只能从百度百科里找找资料了。

地址为:http://baike.baidu.com/view/10754.htm

七七事变也称“卢沟桥事变”(Lugouqiao Incident / Lugou Bridge Incident/Lukouchiao Bridge Incident/Marco Polo Bridge Incident/Roko Bridge Incident)

虽然我不喜欢百度,但这个时候还是很感谢,因为他里面有这么一段:“七七事变”72年

再次怀念一下

 

再看《非诚勿扰》

冯小刚虽然有几部片子拍的挺烂,但不代表他没有好片子
相反,他的好片子很多。
每年一部的贺岁片几乎就是他的标志,一年不开张,开张吃三年,估计完全可以体现冯小刚的作品的号召力
当然,御用的葛优也是如此的张扬,即使在批评很多的夜宴里,葛优仍然出尽了风头

非诚勿扰,初次看此片时,是在同事家中,喝着小二,就着烤羊排。但没有看完,只是片头的分岐终端机印象颇深。

昨天晚上睡觉前,又看了会,不过只是结尾那段。在看到工作人员介绍时,突然发现一句话:感谢分岐终端机的发明人:XXX(不记得了)。这句话让我大吃一斤(HOHO)
原来,还真有这玩意啊。。

估计该发明人向冯小刚推广这玩意后,他就兴致一来,写了这个非诚勿扰的故事吧,因为我看编剧和导演都是冯小刚。

虽然我主要是想表达,我的惊讶。
但不可否认,片中的情节和一些话语的精炼
或许,每次冯小刚的片子一出来,网上就会有人把葛优等腕的名言名句列出来吧。就象当年的:手机、天下无贼一样?

不信,搜索一下:非诚勿扰 经典台词,肯定会有发现

Tags: 冯小刚, 分岐终端机, 非诚勿扰

linux 查找目录或文件

原文地址:http://hi.baidu.com/corylus/blog/item/911f1a0871817ad962d98686.html

查找目录:find /(查找范围) -name '查找关键字' -type d
查找文件:find /(查找范围) -name 查找关键字 -print

 

 

如果需要更进一步的了解,可以参看Linux的命令详解。

这里摘抄如下:

 

·find path -option [ -print ] [ -exec -ok command ] {} \;
#-print 将查找到的文件输出到标准输出
#-exec command {} \;     -----将查到的文件执行command操作,{} 和 \;之间有空格
#-ok 和-exec相同,只不过在操作前要询用户

====================================================

-name filename             #查找名为filename的文件
-perm                       #按执行权限来查找
-user   username            #按文件属主来查找
-group groupname            #按组来查找
-mtime -n +n               #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime   -n +n              #按文件访问时间来查
-perm                        #按执行权限来查找
-user   username            #按文件属主来查找
-group groupname            #按组来查找
-mtime -n +n               #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime   -n +n              #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime   -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup                    #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2              找文件,-n指n天以内,+n指n天以前
-ctime   -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup                    #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer f1 !f2              #查更改时间比f1新但比f2旧的文件
-type    b/d/c/p/l/f        #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size     n[c]              #查长度为n块[或n字节]的文件
-depth                      #使查找在进入子目录前先行查找完本目录
-fstype                     #查更改时间比f1新但比f2旧的文件
-type    b/d/c/p/l/f        #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size     n[c]              #查长度为n块[或n字节]的文件
-depth                      #使查找在进入子目录前先行查找完本目录
-fstype                     #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount                      #查文件时不跨越文件系统mount点
-follow                     #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                   #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount                      #查文件时不跨越文件系统mount点
-follow                     #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                       #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune                      #忽略某个目录

====================================================
$find ~ -name "*.txt" -print    #在$HOME中查.txt文件并显示
$find .   -name "*.txt" -print
$find .   -name "[A-Z]*" -pri26nbsp;   #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune                              #忽略某个目录

=====================================================
$find ~ -name "*.txt" -print    #在$HOME中查.txt文件并显示
$find .   -name "*.txt" -print
$find .   -name "[A-Z]*" -print #查以大写字母开头的文件
$find /etc -name "host*" -print #查以host开头的文件
$find . -name "[a-z][a-z][0--9][0--9].txt"   -print #查以两个小写字母和两个数字开头的txt文件
$find . -perm 755 -print
$find . -perm -007 -exec ls -l {} \; #查所有用户都可读写执行的文件同-perm 777
$find . -type d -print
$find . ! -type d -print
$find . -type l -print

$find . -size +1000000c -print       #查长度大于1Mb的文件
$find . -size 100c        -print      # 查长度为100c的文件
$find . -size +10 -print             #查长度超过期作废10块的文件(1块=512字节)

$cd /
$find etc home apps   -depth -print | cpio -ivcdC65536 -o /dev/rmt0
$find /etc -name "passwd*" -exec grep "cnscn" {} \; #看是否存在cnscn用户
$find . -name "yao*" | xargs file
$find . -name "yao*" | xargs echo   "" > /tmp/core.log
$find . -name "yao*" | xargs chmod o-w

======================================================

find -name april*                      在当前目录下查找以april开始的文件
find -name april* fprint file        在当前目录下查找以april开始的文件,并把结果输出到file中
find -name ap* -o -name may* 查找以ap或may开头的文件
find /mnt -name tom.txt -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件
find /mnt -name t.txt ! -ftype vfat   在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件
find /tmp -name wa* -type l           在/tmp下查找名为wa开头且类型为符号链接的文件
find /home -mtime -2                 在/home下查最近两天内改动过的文件
find /home   -atime -1                  查1天之内被存取过的文件
find /home -mmin   +60                  在/home下查60分钟前改动过的文件
find /home -amin +30                  查最近30分钟前被存取过的文件
find /home -newer tmp.txt             在/home下查更新时间比tmp.txt近的文件或目录
find /home -anewer tmp.txt            在/home下查存取时间比tmp.txt近的文件或目录
find /home -used -2                  列出文件或目录被改动过之后,在2日内被存取过的文件或目录
find /home -user cnscn                列出/home目录内属于用户cnscn的文件或目录
find /home -uid +501                 列出/home目录内用户的识别码大于501的文件或目录
find /home -group cnscn              列出/home内组为cnscn的文件或目录
find /home -gid 501                   列出/home内组id为501的文件或目录
find /home -nouser                    列出/home内不属于本地用户的文件或目录
find /home -nogroup                   列出/home内不属于本地组的文件或目录
find /home   -name tmp.txt   -maxdepth 4 列出/home内的tmp.txt 查时深度最多为3层
find /home -name tmp.txt -mindepth 3 从第2层开始查
find /home -empty                     查找大小为0的文件或空目录
find /home -size +512k               查大于512k的文件
find /home -size -512k               查小于512k的文件
find /home -links +2                 查硬连接数大于2的文件或目录
find /home -perm 0700                查权限为700的文件或目录
find /tmp -name tmp.txt -exec cat {} \;
find /tmp -name tmp.txt -ok rm {} \;

find   / -amin   -10       # 查找在系统中最后10分钟访问的文件
find   / -atime -2         # 查找在系统中最后48小时访问的文件
find   / -empty              # 查找在系统中为空的文件或者文件夹
find   / -group cat        # 查找在系统中属于 groupcat的文件
find   / -mmin -5         # 查找在系统中最后5分钟里修改过的文件
find   / -mtime -1        #查找在系统中最后24小时里修改过的文件
find   / -nouser             #查找在系统中属于作废用户的文件
find   / -user   fred       #查找在系统中属于FRED这个用户的文件

查当前目录下的所有普通文件
--------------------------------------------------------------------------------

# find . -type f -exec ls -l {} \;
-rw-r--r--    1 root     root        34928 2003-02-25 ./conf/httpd.conf
-rw-r--r--    1 root     root        12959 2003-02-25 ./conf/magic
-rw-r--r--    1 root     root          180 2003-02-25 ./conf.d/README
查当前目录下的所有普通文件,并在- e x e c选项中使用ls -l命令将它们列出


=================================================
在/ l o g s目录中查找更改时间在5日以前的文件并删除它们:
$ find logs -type f -mtime +5 -exec -ok rm {} \;


=================================================
查询当天修改过的文件
[root@book class]# find ./ -mtime -1 -type f -exec ls -l {} \;


=================================================
查询文件并询问是否要显示
[root@book class]# find ./ -mtime -1 -type f -ok ls -l {} \;
< ls ... ./classDB.inc.php > ? y
-rw-r--r--    1 cnscn    cnscn       13709 1月 12 12:22 ./classDB.inc.php
[root@book class]# find ./ -mtime -1 -type f -ok ls -l {} \;
< ls ... ./classDB.inc.php > ? n
[root@book class]#

=================================================
查询并交给awk去处理
[root@book class]# who | awk '{print $1"\t"$2}'
cnscn   pts/0

=================================================
awk---grep---sed

[root@book class]# df -k | awk '{print $1}' | grep -v 'none' | sed s"/\/dev\///g"
文件系统
sda2
sda1
[root@book class]# df -k | awk '{print $1}' | grep -v 'none'
文件系统
/dev/sda2
/dev/sda1


1)在/tmp中查找所有的*.h,并在这些文件中查找“SYSCALL_VECTOR",最后打印出所有包含"SYSCALL_VECTOR"的文件名

A) find /tmp -name "*.h" | xargs -n50 grep SYSCALL_VECTOR
B) grep SYSCALL_VECTOR /tmp/*.h | cut   -d':' -f1| uniq > filename
C) find /tmp -name "*.h" -exec grep "SYSCALL_VECTOR" {} \; -print


2)find / -name filename -exec rm -rf {} \;
find / -name filename -ok rm -rf {} \;


3)比如要查找磁盘中大于3M的文件:
find . -size +3000k -exec ls -ld {} ;


4)将find出来的东西拷到另一个地方
find *.c -exec cp '{}' /tmp ';'

如果有特殊文件,可以用cpio,也可以用这样的语法:
find dir -name filename -print | cpio -pdv newdir


6)查找2004-11-30 16:36:37时更改过的文件
# A=`find ./ -name "*php"` | ls -l --full-time $A 2>/dev/null | grep "2004-11-30 16:36:37"

Tags: find