Archive for the ‘mysql’ Category
Thursday, May 28th, 2009
我忘记了MySQL root密码,怎样才能重设MySQL root密码呢?
MySQL root密码是可以重设的。按照下面的步骤,你可以重设Unix / Linux / BSD等操作系统中的
MySQL root用户的密码。
首先,你需要以root管理员帐号登录UNIX / Linux系统。
第一步:停止MySQL
在RHEL / Fedora / CentOS Linux系统中,输入下面的命令来停止MySQL数据库服务器:
# /etc/init.d/mysqld stop
在FreeBSD UNIX系统中,输入下面的命令来停止MySQL数据库服务器:
# /usr/local/etc/rc.d/mysql-server stop
在Debian / Ubuntu Linux系统中,输入下面的命令来停止MySQL数据库服务器:
# /etc/init.d/mysql stop
另外,你也可以通过kill命令停止mysqld进程, 在下面的cat命令后,输入mysqld.pid文件所在的路径:
# kill $(cat /var/run/mysqld/mysqld.pid)
或者:
# pgrep -u mysql mysqld
# kill PID
或者, 在Linux下,使用简单的killall命令:
# killall mysql
第二步:创建新的mysql密码的sql script
新建命名为 /root/mysql.reset.sql sql文件, 并输入如下内容,将下面的“你的新mysql密码”改成你自己想要设置的密码。
# vi /root/mysql.reset.sql
输入如下代码::
UPDATE mysql.user SET Password=PASSWORD('你的新mysql密码') WHERE ...
Posted in Linux, mysql, Unix | No Comments »
Wednesday, March 26th, 2008
这里是1个两个mysql命令的组合,它可以让你以原有数据表为基础,来创建相同结构和数据的新数据表。
这可以帮助你在开发过程中快速的复制表格作为测试数据,而不必冒险直接操作正在运行的数据表。
下面这样一个例子:
将 production 数据库中的 mytbl 表快速复制为 mytbl_new,2个命令如下:
CREATE TABLE mytbl_new LIKE production.mytbl;
INSERT mytbl_new SELECT * FROM production.mytbl;
第一个命令是创建新的数据表 mytbl_new ,并复制 mytbl 的数据表结构。
第二个命令是讲数据表 mytbl 中的数据复制到新表 mytbl_new 。
这里的 production.mytbl 是指定要复制表的数据库名称为 production 。它是可选的。
如果没有 production. ,MySQL将会假设 mytbl 在当前操作的数据库。
(the end)
Posted in mysql | No Comments »
Friday, January 18th, 2008
本文将告诉你如何配置一个三个节点的MySQL 5数据库服务器群集:两个存储节点和一个
管理节点。这个群集是由用提供“heartbeat心跳”(用来检查另外一个节点是否活动)和
“ldirectord”(将请求分发到MySQL群集的节点)的Ultra Monkey安装包的两个节点组成的
一个高可用性负载均衡器。
本文我们的每个节点使用Debian Sarge Linux系统。其它Linux发行版本的安装可能一点点
区别。MySQL的版本我们使用5.0.19。如果你不想使用MySQL 5,你也可以使用MySQL 4.1,尽
管我还没有测试过。
本文是一篇实践应用指导;它没有涉及太多的理论。关于群集的理论你可以在网上找到很多。
一 服务器
我使用下面的Debian服务器,它们都在同一个网段(本例如:192.168.0.x):
sql1.test.com: 192.168.0.101 MySQL 群集节点 1
sql2.test.com: 192.168.0.102 MySQL 群集节点 2
loadb1.test.com: 192.168.0.103 负载均衡 1 / MySQL 群集管理服务器
loadb2.test.com: 192.168.0.104 负载均衡 2
另外我们需要一个虚拟IP地址:192.168.0.105。它会安排给这个MySQL群集的负载均衡,以便于
应用程序通过统一单独的IP地址来访问群集。
尽管我们想在MySQL群集中使用两个节点,但是我们仍然需要第三个节点,MySQL群集管理服务器
,主要的一个原因是:如果其中一个MySQL群集节点坏了,而MySQL群集管理服务器没有运行,那
么两个群集节点上的数据将会不一致(“split brain”)。我们需要它来配置MySQL群集.
因此我们的安装一般需要五台机器:
2个MySQL群集节点 + 1个群集管理服务器 + 2个负载均衡 = 5
因为群集管理服务器没有使用多少资源,系统将会空着什么都不做,所以我们可以把我们的第一
个负载均衡和它一起放在同一台机器上,这样可以节约我们一台服务器,所以最好我们只需要四台
机器。
二 配置MySQL群集管理服务器
首先我们要下载MySQL 5.0.19,并安装群集管理服务器(ndb_mgmd)和群集管理客户端 (ndb_mgm - 它
可以用来监控群集的运行情况). 下面的步骤是在loadb1.test.com (192.168.0.103)上进行的:
loadb1.test.com:
mkdir /usr/src/mysql-mgm
cd /usr/src/mysql-mgm
wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-max-5.0.19-linux-i686-\
glibc23.tar.gz/from/http://www.mirrorservice.org/sites/ftp.mysql.com/
tar xvfz mysql-max-5.0.19-linux-i686-glibc23.tar.gz
cd mysql-max-5.0.19-linux-i686-glibc23
mv ...
Posted in mysql | No Comments »