1、复制进程
Mysql的复制(replication)是一个异步的复制,从一个Mysql instace(称之为Master)复制到另一个Mysql instance(称之Slave)。实现整个复制操作主要由三个进程完成的,其中两个进程在Slave(Sql进程和IO进程),另外一个进程在 Master(IO进程)上。

本日志由 flyinweb 于 2009-06-24 08:57:45 发表到 数据库技术 中,目前已经被浏览 4071 次,评论 0 次;

作者添加了以下标签: Replication

首页只显示了部分日志内容,要查看日志的全部内容请阅读全文

首先,找一台监控机,确保有登陆各从库查看复制状态的权限。
比如在一台主机名为Admin的机器上,编写监控脚本slavedm.sh,保存为如 /server/daemon/slavedm.sh

本日志由 flyinweb 于 2009-06-24 08:48:15 发表到 数据库技术 中,目前已经被浏览 4265 次,评论 0 次;

作者添加了以下标签: Last_SQL_ErrorLast_SQL_ErrorNo

首页只显示了部分日志内容,要查看日志的全部内容请阅读全文

MySQL Proxy快速实现读写分离以及负载均衡

作/译者:叶金荣

本日志由 flyinweb 于 2009-06-22 16:07:42 发表到 数据库技术 中,目前已经被浏览 4685 次,评论 0 次;

作者添加了以下标签: MySQL Proxy读写分离负载均衡

首页只显示了部分日志内容,要查看日志的全部内容请阅读全文

忘记mysql 的root 密码: 
先确认已经杀掉mysqld 进程了,然后执行这个 

  1. /usr/bin/safe_mysqld --skip-grant-tables & 

 
再这样登录 

  1. mysql -h 192.168.1.2 -u root  


上边的192.168.1.2 是cloud 的mysqld 运行机器,你换成自己的,这样登录上去,就可以修改密码了。 
修改密码 
1.mysql -h hostname –u root 命令登录到mysqld server 用grant 命令改变口令: 

  1. Grant all on *.* to root indentified by "111111"  


2. mysqladmin -u 用户名-p 旧密码password 新密码 
例1:给root 加个密码ab12。首先在DOS 下进入目录mysqlbin,然后键入以下命令 

  1. mysqladmin -uroot password ab12  


注:因为开始时root 没有密码,所以-p 旧密码一项就可以省略了。 
例2:再将root 的密码改为djg345。 

  1. mysqladmin –u root -pab12 password djg345 

 (注意-p 不要和后面的密码分开写,要写在一起) 
3. 

  1. use mysql; update user set password =password('yourpass') where user='root' 


4. 载入权限表: `mysqladmin -h hostname flush-privileges' ,或者使用SQL 命令`FLUSH PRIVILEGES'。(当然,在这里,你也可以重启mysqld。) 
mysql 的建库,添加数据方法: 

  1. mysqi –u root   
  2. mysql>create database ttt;   
  3. mysql>source 1.txt   
  4. mysql>load data local infile "2.txt" into table board;  

1.txt 内容: 

  1. CREATE TABLE board (   
  2. boardid int(11) NOT NULL auto_increment,   
  3. boardname char(255),   
  4. PRIMARY KEY (boardid)   
  5. );  

2.txt 内容: 
1 lk(Tab 键分开) 
2 lklk 
3 lklklk 
导出database: 

  1. #mysqldump –opt ttt –uroot –p111111 > 111.sql  


导入database 
1. 

  1. #mysql –u root –p111111 ttt < 111.sql  

2. 

  1. mysql>source 111.sql; 

 
导出的多个database

  1. :#mysqldump –-databases ttt1 ttt2 ttt3 –uroot –p111111   > 111.sql  

导出所有database:

  1. #mysqldump –-all-databases –uroot –p111111 > 111.sql  

本日志由 flyinweb 于 2009-06-21 22:16:47 发表到 数据库技术 中,目前已经被浏览 4234 次,评论 0 次;

作者添加了以下标签: mysql

HOWTO:使用 ADO 连接到防火墙之后的 SQL 服务器

结论
当您使用 ActiveX Data Object (ADO) 连接到位在防火墙之后的 SQL Server 7.0 或 SQL Server 2000 服务器时,请考虑下列事项: 
• 必须将防火墙设定成允许连接埠 1433 连入 (或该 SQL 服务器以 TCP/IP 侦听的连接埠号) 及允许连接埠 1024 到 65535 连出。  
• 连接字符串必须指定该 SQL 服务器的地址:IP 地址、服务器的 DNS 名称或主机档案内的名称。  
• 连接字符串应要指定「网络链接库」类型,在此例中请使用 dbmssocn 来代表 TCP/IP Sockets Net-Library。  
警告开启防火墙上的连接埠可能会造成安全性的问题,请洽询您的「系统管理员」或「安全管理员」,以设定防火墙。 
其它相关信息
在下列的程序代码范例中,servername 应该是服务器的 DNS 名称、IP 地址或主机档案内的名称:

  1. Set Conn = CreateObject("ADODB.Connection"
  2. Set Rs = CreateObject("ADODB.Recordset"
  3. Set Cmd = Createobject("ADODB.Command"
  4.  
  5. Conn.Open "Provider=SQLOLEDB;Password=password;Persist Security Info=True;User ID=username;Initial Catalog=DBNAME;Data Source=servername;Network Library=dbmssocn" 
  6. Cmd.ActiveConnection=Conn 
  7.  
  8. SQL = "Select * from TABLE" 
  9.  
  10. Cmd.CommandText = SQL 
  11. Set Rs = Cmd.Execute 



参考
如需其它信息,请按一下下列的文件编号,参阅 Microsoft Knowledge Base 中的文件: 
238949HOWTO:在 ADO 联机字符串中设定 SQL Server 网络链接库
参考
本文件是根据 Microsoft Knowledgebase 文件编号 Q269882 翻译的. 若要参考原始英文文件内容, 请至以下网址:
http://support.microsoft.com/support/kb/articles/Q269/8/82.asp

本日志由 flyinweb 于 2009-06-20 16:18:59 发表到 数据库技术 中,目前已经被浏览 3998 次,评论 0 次;

作者添加了以下标签: ADOSQL Server

INF:透过防火墙和 SQL Server 通讯所需的 TCP 通讯端口

本文说明透过防火墙和 SQL Server 通讯所需的最少数目的 TCP 通讯端口。 

SQL Server 是 一种 Winsock 应用程序,使用通讯端网络链接库透过 TCP/IP 进行通讯。SQL Server 会倾听来自某特定通讯端口的联 机;SQL Server 的预设通讯端口是 1433。通讯端口不一定必须是 1433, 但 1433 是 Internet Assigned Number Authority (IANA) 为 SQL Server 所订定的官方通讯 端编号。 

客户端应用程序使用客户端网络链接 库 Dbmssocn.dll (或 Dbnetlib.dll for SQL Server 2000) 来和 SQL Server 通讯,并使 用 Microsoft Data Access Components (MDAC) 2.6 和任何客户端通讯。 

当客户端建 立 TCP/IP 联机时,会完成一个三向的协议 (Three-way Handshake)。客户端会开启来源通讯端口,并将数据传送至目的通讯端 口,根据默认值是 1433。客户端所使用的来源通讯端口是随机挑选的,但会大于 1024。根据默认值,当应用程序向系统要求通讯端以便输出呼叫时,系 统会供应介于 1024 与 5000 之间的通讯端口给应用程序。有关其它信息,请参阅位于下 面 Microsoft Developer Network (MSDN) 网站的 〈Microsoft Windows 2000 TCP/IP Implementation Details〉: 
http://www.microsoft.com/windows2000/library/howitworks/communications/networkbasics/tcpip_implement.asp 
服务器 (在本范例中是 SQL Server) 接着就会从 1433 将数据传送回客户端建立的通讯端口,来和客户端通讯。 

要 观察此行为的最佳方式就是使用「Microsoft 网络监视器」或网络窥探工具来追踪客户端对服务器的通讯。若要设定防火墙,您必须让资料可以 从 *ANY* 传输到 1433,并从 1433 传输到 *ANY*,其中 *ANY* 是大于 1024 的通讯端口。 
*ANY* -> 1433 
1433 -> *ANY* 
除 了使用「Microsoft 网络监视器」之外,您也可以使用 TCP/IP Netstat 公用程序来追踪客户端对服务器的通讯。从 MS- DOS 指令窗口发出 netstat -an 指令,可以得到下面结果,显示出所建立的三个对 SQL Server 的联机。此范例是使 用 157.54.178.42 作为 SQL Server 的 IP 地址,而客户端的 IP 地址则是 157.54.178.31。客户端所开启 的通讯端口分别是 1746、1748 与 1750。 
Proto   Local Address          Foreign Address        State
 TCP    157.54.178.42:1433     0.0.0.0:0              LISTENING
 TCP    157.54.178.42:1433     157.54.178.31:1746     ESTABLISHED
 TCP    157.54.178.42:1433     157.54.178.31:1748     ESTABLISHED
 TCP    157.54.178.42:1433     157.54.178.31:1750     ESTABLISHED
防火墙软件应该经由使用规则让配置动态发生。如果是这样,您可以设定 1433 -> *ANY* 已建立;经由状态完整的封包检验在 syn 后面跟着 syn/ack 之后这样就会动态开启响应通讯端口。 

没 有方法可以限制 SQL Server 客户端用来联机的来源 TCP 通讯端口的数目;这样会违反让客户端可以分派到新的、未经使用的动态通讯端口的目 的。这是为 Winsock 应用程序而定义的 TCP/IP 标准;这并不是对 SQL Server 客户端通讯的限制。 

此外,根 据默认值,SQL Server 2000 具名执行个体会使用动态的目的通讯端口。在设定防火墙之前,应该要先将此通讯端口改为固定的通讯端口。您应该 使用 SQL Server「网络公用程序」来设定目的通讯端口。有关如何使用 SQL Server「网络公用程序」的信息,请参 阅 SQL Server《在线丛书》。 

否则,客户端计算机就需要开启随机的 UDP 通讯端口,且服务器 UDP 通讯端 口 1434 就会被用来传送执行个体名称,而如果此执行个体是丛集式的执行个体,也会传送 SQL 执行个体的版本、此执行个体倾听的 TCP 通讯端 口编号,以及此执行个体所使用的命名管道。然而,如果您的目标是要将防火墙上开启的通讯端口数目减到最少,就应该替预设执行个体与任何具名执行个体选择静 态的通讯端口编号。还需要设定客户端计算机,让客户端计算机联机至特定的 ServerName 或 ServerName 执行个体以及使用特定的通讯 端口编号。 

有关其它信息,请按一下下面的文件编号,检视「Microsoft 知识库」中的文件: 
216415 How to Set Up SQL Server for Access Through Microsoft Proxy Server(http://support.microsoft.com/kb/216415/EN-US/)
179442 How to Configure a Firewall for Windows NT and Trusts (http://support.microsoft.com/kb/179442/EN-US/)
148942 How to Capture Network Traffic with Network Monitor (http://support.microsoft.com/kb/148942/EN-US/)
169292 The Basics of Reading TCP/IP Traces (http://support.microsoft.com/kb/169292/EN-US/)
269882HOWTO:使用 ADO 连接到防火墙之后的 SQL 服务器(http://support.microsoft.com/kb/269882/ZH-TW/)
参考
本文件是根据 Microsoft Knowledgebase 文件编号 Q287932 翻译的. 若要参考原始英文文件内容, 请至以下网址:
http://support.microsoft.com/support/kb/articles/Q287/9/32.asp

本日志由 flyinweb 于 2009-06-20 16:17:11 发表到 数据库技术 中,目前已经被浏览 4459 次,评论 0 次;

作者添加了以下标签: SQL Server端口

一、以非特权用户运行MySQL服务器 

    在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务器。服务器可以手动或自动启动。如果你手动启动它,服务器以你登录Unix(Linux)的用户身份启动,即如果你用paul登录Unix并启动服务器,它用paul运行;如果你用su命令切换到root,然后运启动服务器,则它以root运行。然而,大多数情况下你可能不想手动启动服务器,最有可能是你安排MySQL服务器在系统引导时自动启动,作为标准引导过程的一部分,在Unix下,该引导过程由系统的Unix用户root执行,并且任何在该过程中运行的进程均以root权限运行。 

本日志由 flyinweb 于 2009-06-20 10:09:03 发表到 数据库技术 中,目前已经被浏览 3846 次,评论 0 次;

作者添加了以下标签: MySQL服务启动与停止

首页只显示了部分日志内容,要查看日志的全部内容请阅读全文

海量数据库的查询优化及分页算法方案

    探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页。以下代码说明了我们实例中数据库的一表的部分数据结构:

本日志由 flyinweb 于 2009-06-20 09:33:57 发表到 数据库技术 中,目前已经被浏览 3836 次,评论 0 次;

作者添加了以下标签: 海量数据查询优化分页

首页只显示了部分日志内容,要查看日志的全部内容请阅读全文