1、mysql 数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好 mysql 数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现 mysql 数据库的热备份。
2、要想实现双机的热备首先要了解主从数据库服务器的版本的需求。要实现热备 mysql 的版本都要高于3.2,还有一个基本的原则就是作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。
3、设置主数据库服务器:
a. 首先查看主服务器的版本是否是支持热备的版本。然后查看 my.cnf(类 unix)或者 my.ini(windows)中 mysqld 配置块的配置有没有 log-bin (记录数据库更改日志),因为 mysql 的复制机制是基于日志的复制机制,所以主服务器一定要支持更改日志才行。然后设置要写入日志的数据库或者不要写入日志的数据库。这样只有您感兴趣的数据库的更改才写入到数据库的日志中。
server-id=1 //数据库的 id 这个应该默认是1就不用改动
log-bin=log_name //日志文件的名称,这里可以制定日志到别的目录 如果没有设置则默认主机名的一个日志名称
binlog-do-db=db_na ......
1.首先得对mysql 里面的参数进行介绍下:
procedure--in:输入参数,out输出参数,inout这个就不用说了,大概也猜到了
declare:声明变量.记主,所有声明必须在非声明语句前完成,否则会报错
2.mysql 常用函数介绍:
*.concat('s','a',5) 可以那数值转换成字符串,也可以进行字符串的合并
如:set str=concat('asd','ad',56) ----> str='asdad56'
declare num in;set num=156;set @ste=concat('',num)|(num);-->@str='156'
mysql> select CONCAT('My', NULL, 'QL');
&nbs ......
lect ASIN('foo');
-> 0.000000
ATAN(N)
返回N的反正切值
mysql> select ATAN(2);
-> 1.107149
mysql> select ATAN(-2);
-> -1.107149
ATAN2(X,Y)
返回2个变量X和Y的反正切(类似Y/X的反正切,符号决定象限)
mysql> select ATAN(-2,2);
-> -0.785398
mysql> select ATAN(PI(),0);
-> 1.570796
COT(N)
返回X的余切
mysql> select COT(12);
-> -1.57267341
mysql> select COT(0);
-> NULL
RAND()
RAND(N)
返回在范围0到1.0内的随机浮点值(可以使用数字N作为初始值)
mysql> select RAND();
-> 0.5925
mysql> select RAND(20);
-> 0.1811
mysql> select RAND(20);
-> 0.1811
mysql> select RAND();
-> 0.2079
mysql> select RAND();
-> 0.7888
DEGREES(N)
把N从弧度变换为角度并返回
mysql> select DEGREES(PI());
-> 180.000000
RADIANS(N)
把N从角度变换为弧度并返回
mysql> select RADIANS(90);
-> 1.570796
TRUNCATE(N,D)
保留数字N的D位 ......
----------------------------------------------------------------------
--该存储过程用户处理信息,当数据不存在表中时则插如,否则就删除
--只用了简单的事务,下面将有更复杂的例子
--pro_produce 产品表(pname.p_id(编号,主键),ptime(添加时间))
--
--
--
-------------------------------------------------------------------------
create procedure pro_produce(
in pname varchar(50),
in pb int,
in ptime datetime,
out rtn int)
begin
declare al_d int default -1;
[--如果出现异,或自动处理并且rollback,但不再通知调用方(注意:但如果希望调用方得到消息,需要这一句:declare exit handler for sqlexception rollback;以及启动事务和提交事务的语句全部去掉)]
select p_id into al_d from t_produce where p_name=pname;
if al_d=-1 then
--开启事务
start transcation;
nsert into t_produce value(pname,pb,ptime);
--添加日记
insert into t_log where (datetime,'添加了新产品');
--提交事务
set rtn=1;
commit;
else
set rtn=0;
end if;
end ......
MYSQL中常用的命令大全
一、 数据库操作的命令
1. 创建数据库
Ø create database Name;
2. 选择数据库
Ø use DatabaseName;
3. 直接删除数据库,不提醒
Ø drop database Name;
4. 删除数据库前,有提示。
Ø drop database Name;
5. 显示所有数据库
Ø show databases;
6. 刷新数据库
Ø flush privileges ;
7. 备份数据库
Ø mysqldump -h host -u root -p dbname >dbname_backup.sql;
8. 恢复数据库
Ø mysqladmin -h myhost -u root -p create dbname;
Ø mysqldump -h host -u root -p dbname < dbname_backup.sql;
二、 表操作的命令
1. 创建表
Ø create table Name;
2. 显示表
Ø show tables;
3. 显示表结构
Ø describe TableName;
4. 清空表
Ø delete from TableName;
5. 删除表
Ø drop table TableName;
三、 & ......
首先,打开cmd—–net start 查看mysql是否启动。启动的话就停止net stop mysql.
1、在dos下运行C:\Program Files\MySQL\MySQL Server 5.0\bin
2、mysqld-nt --init-file=c:\mysql\pwdhf.txt 其中在c:\mysql建一个pwdhf.txt文件,并写下你的新密码。
3、运行些命令后,再用新密码登录,即可成功修改密码。 ......