常用MySQL技巧

SET PASSWORD = PASSWORD("newpassword");

自动添加当前时间
alter table tablename modify field timestamp not null default current_timestamp;

varchar(255)最多255个字节,若使用256则创建约束时会失败
wireless password: c301059610GreeNet
tcpdump -i eth0 -n -v -s 3000 ether[18:2]=0x3412
// 远程主机访问MYSQL
CREATE USER user [IDENTIFIED BY [PASSWORD] 'password']
GRANT ALL PRIVILEGES ON *.* TO 'GreeNet'@'%' IDENTIFIED BY 'greenetlf10kdbroot' with grant option;

 

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

mysqldump -uroot -p[password] [database] --no-create-db=TRUE --no-create-info=TRUE --add-drop-table=FALSE --where="[column]=[value]" [table]>[filename].sql;

=======================================================================
mysqldump -d -u root -p[password] [database] [table] > [filename].sql

=======================================================================
alter table tb_url add column value int(4) default 0 after desp;

  • 查看列:desc 表名;
  • 修改表名:alter table t_book rename to bbb;
  • 添加列:alter table 表名 add column 列名 varchar(30);
  • 删除列:alter table 表名 drop column 列名;
  • 修改列名MySQL: alter table bbb change nnnnn hh int;
  • 修改列名SQLServer:exec sp_rename't_student.name','nn','column';
  • 修改列名Oracle:lter table bbb rename column nnnnn to hh int;
  • 修改列属性:alter table t_book modify name varchar(22);

 

=======================================================================
mysqladmin -uGreeNet -pgreenetlf10kdbroot variables |grep max_connections

修改MYSQL最大连接数
进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可
===============================================================================
MySQL 重启服务方法
===============================================================================
Windowns系统:
停止mysql:net stop mysql
启动myql:net start mysql
Linux 系统:
$mysql_dir/bin/mysqladmin -u root -p shutdown
$mysql_dir/bin/mysqld_safe &

RedHat Linux (Fedora Core/Cent OS)
1.启动:/etc/init.d/mysqld start
2.停止:/etc/init.d/mysqld stop
3.重启:/etc/init.d/mysqld restart
Debian / Ubuntu Linux
1.启动:/etc/init.d/mysql start
2.停止:/etc/init.d/mysql stop
3.重启:/etc/init.d/mysql restart
Windows
1.点击“开始”->“运行”(快捷键Win+R)
2.启动:输入 net stop mysql
3.停止:输入 net start mysql
提示
Redhat Linux 也支持service command,
启动:# service mysqld start
停止:# service mysqld stop
重启:# service mysqld restart

INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;
create table tem select * from table;

===============================================================================
MySQL 存储过程:
===============================================================================
DELIMITER $$

DROP PROCEDURE IF EXISTS proc_insert$$
CREATE PROCEDURE proc_insert
(
in phost varchar(128),
in pdesp varchar(128),
out res int #return value
)
BEGIN
set res = 0;
select count(*) into res from hostrank where host=phost;
if (res = 0) then
insert into hostrank(host,description) values(phost,pdesp);
set res=1;
end if;
END$$

DELIMITER ;

MySQL 安装与开发
mysql-server
mysql-client
如果要建立开发环境,C中使用mysql.h,则还要安装libmysqlclient[v]-dev


utf8编码设置
create database name character set utf8; 
alter database name character set utf8;

alter table type modify type_name varchar(50) CHARACTER SET utf8;

修改MySQL默认编码,
编辑文件/etc/my.cnf
在[client]和[mysql]下面添加一行:
default-character-set=utf8
把数据库删掉重建

因为你使用-lmysqlclient的话,gcc会在系统编译环境目录优先寻找相应名字的动态链接库文件libmysqlclient.so,而不是你指定目录的静态链接库文件libmysqlclient.a.

其中-lmysqlclient_r是-lmysqlclient的可重入版本

函数是可重入(reentrant)的,是指对于相同的(并且合法的)函数参数(包括无参函数的情况),多次调用此函数产生的行为是可预期的,即函数的行为一致,或者结果相同。不能保证这一点的函数称为不可重入(non-reentrant)函数。
至于对于可重入函数的要求,网上的资料比较多,可查看。
可重入和线程安全(Thread-Safe)是两个不同的概念:可重入函数一定是线程安全的;线程安全的函数可能是重入的,也可能是不重入的;线程不安全的函数一定是不可重入的。

装了个secureCRT,可老是出现乱码 
于是在网上找了相关方法, 
我总结了一下。 
1:最简单的方法是直接改 
Session Option→选字体(新宋体)→再选Character encoding(选UTF-8) 
然后再修改远程linux机器的配置 
  vi /etc/sysconfig/i18n 
  把LANG改成支持UTF-8的字符集 
如:LANG=”zh_CN.UTF-8″

posted @ 2013-10-24 15:34  田涛@武汉  阅读(203)  评论(0编辑  收藏  举报