常用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″