??xml version="1.0" encoding="utf-8" standalone="yes"?>
2、mysql.service stop && mysql.service start
3、清Iroot密码 q?退?br /> update mysql.user set authentication_string='' where user='root';
4?/span>mysql.service stop && mysql.service start
5、mysql -root 免密dq修改root密码
alter user 'root'@'%' identified by 'pass$123';
alter user 'root'@'localhost' identified by 'pass$123';
定是否支持q程dQhost中有%的记录即支持
]]>
mysql -uroot -proot -h127.0.0.1 testdb -e " select a, b, c, d from t_test where a='xxxx'" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > /tmp/xxxxx.csv
]]>
]]>);
l色部分在mysql参考手册中都没有描qͼ坑爹啊!Q!Q!Q!Q?/strong>
]]>
]]>
]]>
make
make install
]]>
q入MySQL安装目录 打开MySQL配置文g my.ini ?my.cnf查找 max_connections=100 修改?max_connections=1000 Q服务里重vMySQL卛_
注意Q如果新增max_connectionsQ必L在mysqld下,如:
Ҏ二:
dx据库Q执行以下命令:
讄用户变量的一个途径是执?span>SET语句Q?br />
SET @var_name = expr [, @var_name = expr] ...
也可以用语句代替SET来ؓ用户变量分配一个倹{在q种情况下,分配W必Mؓ:=而不能用=Q因为在?span>SET语句?span>=被视Z个比?操作W,如下所C:
mysql> SET @t1=0, @t2=0, @t3=0;
mysql> SELECT @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;
对于使用select语句为变量赋值的情况Q若q回多条记录Q则变量的gؓ最后一条记录的|不过不徏议在q种情况下用;若返回结果ؓI,x有记录,此时变量的gؓ上一ơ变量赋值时的|如果没有对变量赋q|则ؓNULL?/span>
一般我们可以这么用:
set @tmp=0
select @tmp:=tmp from table_test;
set @tmp=@tmp+1
pȝ变量q接拷贝吧Q?/span>
MySQL可以讉K许多pȝ和连接变量。当服务器运行时许多变量可以动态更攏V这样通常允许你修Ҏ务器操作而不需要停止ƈ重启服务器?/p>
mysqld服务器维护两U变量。全局变量影响服务器整体操作。会话变量媄响具体客Lq接的操作?/p>
当服务器启动Ӟ它将所有全局变量初始化ؓ默认倹{这些默认值可以在选项文g中或在命令行中指定的选项q行更改。服务器启动后,通过q接服务器ƈ执行SET GLOBAL var_name语句Q可以动态更改这些全局变量。要x改全局变量Q必d?span>SUPER
权限?/p>服务器还为每个连接的客户端维护一pd会话变量。在q接时用相应全局变量的当前值对客户端的会话变量q行初始化。对于动态会话变量,客户端可以通过SET SESSION var_name语句更改它们。设|会话变量不需要特D权限,但客L只能更改自己的会话变量,而不能更改其它客L的会话变量?/p>
对于全局变量的更改可以被讉K该全局变量的Q何客L看见。然而,它只影响更改后连接的客户的从该全局变量初始化的相应会话变量。不影响目前已经q接的客L的会话变?span>(
即客户端执?span>SET GLOBAL语句也不影响)?/p>可以使用几种语法形式来设|或索全局或会话变量。下面的例子使用?span>sort_buffer_sizeas作ؓCZ变量名?/p>
要想讄一?span>GLOBAL变量的|使用下面的语法:
mysql> SET GLOBAL sort_buffer_size=value;
mysql> SET @@global.sort_buffer_size=value;
要想讄一?span>SESSION变量的|使用下面的语法:
mysql> SET SESSION sort_buffer_size=value;
mysql> SET @@session.sort_buffer_size=value;
mysql> SET sort_buffer_size=value;
LOCAL?span>SESSION的同义词?/p>
如果讄变量时不指定GLOBAL?span>SESSION或?span>LOCALQ默认?span>SESSION。参?a title="13.5.3. SET Syntax" href="mk:@MSITStore:D:%20wt%20book%20参考手?20MYSQL_50_%20中文手册.chm::/sql-syntax.html#set-option">13.5.3节,“SET语法”?/p>
要想索一?span>GLOBAL变量的|使用下面的语法:
mysql> SELECT @@global.sort_buffer_size;
mysql> SHOW GLOBAL VARIABLES like 'sort_buffer_size';
要想索一?span>SESSION变量的|使用下面的语法:
mysql> SELECT @@sort_buffer_size;
mysql> SELECT @@session.sort_buffer_size;
mysql> SHOW SESSION VARIABLES like 'sort_buffer_size';
q里Q?span>LOCAL也是SESSION的同义词?/p>
当你?span>SELECT @@var_name搜烦一个变量时(也就是说Q不指定global.?span>session.或?span>local.)Q?span>MySQLq回SESSION|如果存在Q,否则q回GLOBAL倹{?/p>
对于SHOW VARIABLESQ如果不指定GLOBAL?span>SESSION或?span>LOCALQ?span>MySQLq回SESSION倹{?/p>
当设|?span>GLOBAL变量需?span>GLOBAL关键字但索时不需要它们的原因是防止将来出现问题。如果我们移除一个与某个GLOBAL变量h相同名字?span>SESSION变量Q具?span>SUPER权限的客户可能会意外地更?span>GLOBAL变量而不是它自己的连接的SESSION变量。如果我们添加一个与某个GLOBAL变量h相同名字?span>SESSION变量Q想更改GLOBAL变量的客户可能会发现只有自己?span>SESSION变量被更改了?/p>
关于pȝ启动选项和系l变量的详细信息参见5.3.1节,“mysqld命o行选项”?a title="5.3.3. Server System Variables" href="mk:@MSITStore:D:%20wt%20book%20参考手?20MYSQL_50_%20中文手册.chm::/database-administration.html#server-system-variables">5.3.3节,“服务器系l变?#8221;。在5.3.3.1节,“动态系l变?#8221;中列Z可以在运行时讄的变量?/p>
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost';
用GRANT语句创徏的̎h下面的属性:
·其中两个账户有相同的用户名monty和密码some_pass。两个̎户均U用戯̎Ph完全的权限可以做M事情。一个̎?('monty'@'localhost')只用于从本机q接时。另一个̎?'monty'@'%')可用于从其它Lq接。请注意monty的两个̎户必能从Q何主Zmontyq接。没有localhost账户Q当monty从本接时Q?strong>mysql_install_db创徏的localhost的匿名用戯̎户将占先。结果是Qmonty被视ؓ匿名用户。原因是匿名用户账户的Host列值比'monty'@'%'账户更具体,q样在user表排序顺序中排在前面?/p>
·一个̎h用户名adminQ没有密码。该账户只用于从本机q接。授予了RELOAD和PROCESS理权限。这些权限允许admin用户执行mysqladmin reload?strong>mysqladmin refresh?strong>mysqladmin flush-xxx命oQ以?strong>mysqladmin processlist。未授予讉K数据库的权限。你可以通过GRANT语句d此类权限?/p>
·一个̎h用户名dummyQ没有密码。该账户只用于从本机q接。未授予权限。通过GRANT语句中的USAGE权限Q你可以创徏账户而不授予M权限。它可以所有全局权限设ؓ'N'。假定你在以后具体权限授予该账户?/p>
1. ?/span>MySQL删除用户账户
要想U除账户Q应使用DROP USER语句Q?/span>
DROP USER user [, user] ...
2. 限制账户资源
要想用GRANT语句讄资源限制QWITH子句来命名每个要限制的资源和Ҏ每小时记数的限制倹{例如,要想只以限制方式创徏可以讉Kcustomer数据库的新̎P执行该语句:
mysql> GRANT ALL ON customer.* TO 'francis'@'localhost'
-> IDENTIFIED BY 'frank'
-> WITH MAX_QUERIES_PER_HOUR 20
-> MAX_UPDATES_PER_HOUR 10
-> MAX_CONNECTIONS_PER_HOUR 5
-> MAX_USER_CONNECTIONS 2;
要想讄或更改已有̎L限制Q在全局U别使用GRANT USAGE语句(?.*)。下面的语句可以francis的查询限制更改ؓ100Q?/p>
mysql> GRANT USAGE ON *.* TO 'francis'@'localhost' WITH MAX_QUERIES_PER_HOUR 100;
该语句没有改变̎L已有权限Q只修改了指定的限制倹{?/p>
要想取消已有限制Q将该D|ؓ零。例如,要想取消francis每小时可以连接的ơ数的限Ӟ使用该语句:
mysql> GRANT USAGE ON *.* TO 'francis'@'localhost' WITH MAX_CONNECTIONS_PER_HOUR 0;
当̎户用资源时如果有非雉Ӟ则对资源使用q行记数?/p>
3. 讄账户密码
4. 可以?strong>mysqladmin命o在命令行指定密码Q?/span>
shell> mysqladmin -u user_name -h host_name password "newpwd"
该命令重讑֯码的账户为user表内匚wUser列的user_name和Host?em>你发赯接的客户端的记录?/span>
̎戯予密码的另一U方法是执行SET PASSWORD语句Q?/span>
mysql> SET PASSWORD FOR 'jeffrey'@'%' = PASSWORD('biscuit');
只有root{可以更新mysql数据库的用户可以更改其它用户的密码。如果你没有以匿名用戯接,省略FOR子句便可以更改自q密码Q?/span>
mysql> SET PASSWORD = PASSWORD('biscuit');
你还可以在全局U别使用GRANT USAGE语句(?.*)来指定某个̎L密码而不影响账户当前的权限:
mysql> GRANT USAGE ON *.* TO 'jeffrey'@'%' IDENTIFIED BY 'biscuit';
一般情况下最好用上q方法来指定密码Q你q可以直接修改user表:
· 要想在创建新账户时徏立密码,在Password列提供一个|
· shell> mysql -u root mysql
· mysql> INSERT INTO user (Host,User,Password) VALUES('%','jeffrey',PASSWORD('biscuit'));
· mysql> FLUSH PRIVILEGES;
·
· 要想更改已有账户的密码,使用UPDATE来设|Password列|
· shell> mysql -u root mysql
· mysql> UPDATE user SET Password = PASSWORD('bagel') WHERE Host = '%' AND User = 'francis';
· mysql> FLUSH PRIVILEGES;
当你使用SET PASSWORD、INSERT或UPDATE指定账户的密码时Q必ȝPASSWORD()函数对它q行加密?唯一的特例是如果密码为空Q你不需要用PASSWORD())。需要用PASSWORD()是因为user表以加密方式保存密码Q而不是明文。如果你忘记了,你可能会象这栯|密码:
shell> mysql -u root mysql
mysql> INSERT INTO user (Host,User,Password) VALUES('%','jeffrey','biscuit');
mysql> FLUSH PRIVILEGES;
l果是密?biscuit'保存到user表后没有加密。当jeffrey使用该密码连接服务器ӞD加密q同保存在user表中的进行比较。但是,保存的gؓ字符?biscuit'Q因此比较将p|Q服务器拒绝q接Q?/span>
shell> mysql -u jeffrey -pbiscuit test
Access denied
如果你用GRANT ... IDENTIFIED BY语句?strong>mysqladmin password命o讄密码Q它们均会加密密码。在q种情况下,不需要?PASSWORD()函数?/span>
|
EXTRACT extracts and returns the value of a specified datetime field from a datetime or interval value expression.
The field you are extracting must be a field of the datetime_value_expr
or interval_value_expr
. For example, you can extract only YEAR
, MONTH
, and DAY
from a DATE
value. Likewise, you can extract TIMEZONE_HOUR
and TIMEZONE_MINUTE
only from the TIMESTAMP
WITH
TIME
ZONE
datatype.
eg.
YEAR
FROM SYSDATE) FROM DUAL; return Current Year
MONTH
FROM SYSDATE) FROM DUAL; return Current Month
DAY
FROM SYSDATE) FROM DUAL; return Current Day
HOUR
FROM SYSDATE) FROM DUAL;ErrorHOUR
FROM TIMESTAMP '2005-10-10 10:10:10') FROM DUAL;
MINUTE
FROM SYSDATE) FROM DUAL;ErrorMINUTE
FROM TIMESTAMP '2005-10-10 10:10:10') FROM DUAL;
YEAR
FROM SYSDATE)中FROM 的下一个参数是日期cd的时候可以抽取年月日.是说这个参数是日期cd的时候就可以抽取q\月\?而抽取不了时\分部?抽取时分部分得在FROM 后面加带TIMESTAMP 且后面加旉字符.MINUTE
FROM TIMESTAMP '2005-10-10 10:10:10')?如果?2005-10-10 10:10:10'用日期类型的字段来代替ƈ转换成字W类型后,也是错误?估计是这Ҏ的问?
比如(MINUTE
FROM TIMESTAMP to_date(to_char(日期cd,'YYYY-MM-DD hh24:mi:ss'),'YYYY-MM-DD hh24:mi:ss')),q样执行不了?
如果真要从日期类型的字段中抽取时\分部分用to_char() 函数可以了.比如to_char(日期cd,'hh24:mi')
2、?OpenQuery 动态执?/pre>
begin tran
SET QUOTED_IDENTIFIER OFF
SET XACT_ABORT ON
declare @cmd varchar(2500)
declare @cmd1 varchar(2500)
declare @var varchar(20)
set @var = 'White'
declare @var1 varchar(20)
set @var1 = 'White1'
declare @var2 varchar(20)
set @var2 = 'Johnson1'
select @cmd = "Update openquery(linked1,'select au_lname, au_fname from pubs.dbo.authors
where au_lname = ''" + @var + "''' )
set au_lname = '" + @var1 + "',
au_fname = '" + @var2 + "'"
exec ( @cmd )
commit tran
select * from <servername>.pubs.dbo.authors
]]>
此外QLinux下经怋用的命oQ?br />
特别注意Q?/strong>
刚安装好的MySql包含一个含I密码的root帐户和一个匿名帐Pq是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高Q在q里应把匿名帐户删除?root帐户讄密码Q可用如下命令进行:
use mysql;
delete from User where User="";
update User set Password=PASSWORD(newpassword) where User=root;
有两U方法:Q推荐用第二种Q?br />
1、在查询分析器中执行sp_addlinkedserver
USE master
GO
EXEC sp_addlinkedserver
@server = 'xzh.world', --ORACLE链接服务器的名称
@srvproduct = 'Oracle', --固定不变?/span>
@provider =
'MSDAORA',
--固定不变?/span>
@datasrc = 'xzh.world' --Net8中的服务器别名(|络服务名)
2、在企业理器中
1)在sql server2000 的企业管理器里面, 扑ֈ安全?>链接服务?>新徏
2)在新建对话框"常规"选项卡里? 选择Microsoft ole db provider for oracle驱动. 产品名称固定填ؓ"Oracle", 数据源就是上面徏立的|络名称ora. 提供E序字符串填?"MSDAORA".
3)在新建对话框"安全? 选项卡里? 选择" 用此安全上下文进?", 输入oracle9i serverZ分配的用户名和密?
4)?常规"选项卡里面输入你链接服务器取的名U?/p>
3、如何引?/span>ORACLE链接服务器中的数?/span>
Select top 10 * from OpenQuery(linkname, 'Select * from user.tablename')