150!一台电脑上装了两个MYSQL,一个启动不了
不知道我说的对不对,数据库好象无所谓的,和本地服务器有关吧
显示桌面-右键点击"我的电脑"-管理-INTERNET信息服务-网站-右键点击"默认网站"(你起的网站名字)-点属性-端口-localhost访问的默认端口是80
你为每个网站设置不同端口
先说下,什么是mysql的多实例,简单的来说就是一台机器上安装了多个mysql的服务,通过不同的端口(如3307,3308)来向外界提供服务,这些进程通过不同的socket来监听不同的服务端口来提供个字的服务。
做个比喻:MySQL的多实例相当于房子的相当于多个卧室一样,每个实例可以看做是一个卧室,整个服务器就是一个房子,服务器的硬件资源(cpu,mem,disk)就是共享的资源,相当于房子的卫生间,厨房,客厅一样,是房子的公共资源,北漂蜗居在一起,可定是要公用上述的资源的。
好处:
当公司资金紧张,可以节约服务器的资源。
坏处:
当某个服务并发很高或者有慢查询的时候,整个实例会消耗整个服务器更多的内存,cpu和各种资源,导致服务器上的其他的实例提供的服务质量下降。这就相当于大家住在一个房子的不同卧室一样,早晨起来刷牙,洗脸等,这样卫生间就会长期占用,其他人需要等一样的道理。
下面记录下装一个3307的MySQL的实例的步骤:
一 基本的需求和出现的问题
当MySQL出现故障或者需要加入一个新的MySQL的实例的时候,需要重新初始化MySQL的数据库,也就是需要重新生成新的数据库的文件。
Linux环境中,安装编译好MySQL之后,还是不能直接启动MySQL,需要初始化Mysql的一些基本东西,包括:
初始化表日志,基本的数据库信息等一些基本的必须文件。
二安装的步骤:
(1) 假设已经存在一个MySQL的实例,端口号为3306,现在需要重新添加一个端口号为3307端口的MySql的实例。
假设MySQl安装的路径是/usr/local/mysql/下面,找一个数据磁盘比较的地方,比如/data1/目录下,在这个目录下面创建数据文件夹:
1 mkdir -p /data1/mysql_3307/data
2 chown -R mysql::mysql /data1/mysql_3307
(2) 复制之前的MySQl的配置文件,到/data1/mysql_3307/目录下面,并且进行编辑:
vim /data1/mysql_3307/mycnf
基本的配置如下:
注:上面的路径可能与上面的数据库文件的存放路径有点出入,但这个不是重点,可以自行替换一下!
(3)确保配置文件无误,然后开始初始化数据库:
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/data1/mysql_3307/mycnf --datadir=/data1/mysql/ --basedir=/usr/lcoal/mysql
完成后,新的mysql 3307数据库已经初始化好了,如果有报错,则看下报错的日志,一般是由于mysql的配置文件导致的,修改即可!
(4)启动新的MySQL的实例服务:
在上面的初始化配置确保无误的情况下,就可以开始启动MySQL的又一个实例了。
1 /usr/local/mysql/bin/mysqld_safe --defaults-file=/data1/mysql_3308/mycnf &
2 检查是否启动:
3 ps -aux | grep mysql
4 如有3308的端口 则表示成功
(5)新的 mysql没有设置root密码,可以通过如下 的设置:
/usr/local/mysl/bin/mysqladmin -S /tmp/mysql_3308sock -uroot passwd 'new-paswd';
如上面的步骤,即可完成一个机器上多个MySQL实例的安装与运行。
当然了,可以将MySQL_server这个脚本放入到/rt/rclocal这个目录下面,随着服务器启动。
(6)如果想登陆的时候,需要指定MySQL的端口号,使用-P3307来指定登录到哪台数据库上即可。
总结:
自己在安装这个数据库的时候,以为是需要再次下载一个新的数据库的源码包,但是其实是不用的,使用一个MySQL的源码包,是可以安装多个MySQL的实例的。
我们今天主要向大家介绍的是MySQL 集群,其中包括对MySQL 集群的概念介绍,以及如何在Server1与Server2上正确对MySQL进行安装 ,还有对安装与配置管理节点服务器(Server3)的正确操作 ,配置集群服务器并启动MySQL 。 一、介绍 这篇文档旨在介绍如何安装配置
我们今天主要向大家介绍的是MySQL 集群,其中包括对MySQL 集群的概念介绍,以及如何在Server1与Server2上正确对MySQL进行安装 ,还有对安装与配置管理节点服务器(Server3)的正确操作 ,配置集群服务器并启动MySQL 。
一、介绍
这篇文档旨在介绍如何安装配置基于2台服务器的MySQL集群。并且实现任意一台服务器出现问题或宕机时MySQL依然能够继续运行。
注意!
虽然这是基于2台服务器的MySQL集群,但也必须有额外的第三台服务器作为管理节点,但这台服务器可以在集群启动完成后关闭。同时需要注意的是并不推荐在集群启动完成后关闭作为管理节点的服务器。尽管理论上可以建立基于只有2台服务器的MySQL集群,但是这样的架构,一旦一台服务器宕机之后集群就无法继续正常工作了,这样也就失去了集群的意义了。出于这个原因,就需要有第三台服务器作为管理节点运行。
另外,可能很多朋友都没有3台服务器的实际环境,可以考虑在VMWare或其他虚拟机中进行实验。
下面假设这3台服务的情况:
Server1: MySQL1vmtestnet 19216801
Server2: MySQL2vmtestnet 19216802
Server3: MySQL3vmtestnet 19216803
Servers1和Server2作为实际配置MySQL集群的服务器。对于作为管理节点的Server3则要求较低,只需对Server3的系统进行很小的调整并且无需安装MySQL,Server3可以使用一台配置较低的计算机并且可以在Server3同时运行其他服务。
二、在Server1和Server2上安装MySQL
从
注意:必须是max版本的MySQL,Standard版本不支持集群部署!
以下步骤需要在Server1和Server2上各做一次
# mv MySQL-max-419-pc-linux-gnu-i686targz /usr/local/ # cd /usr/local/ # groupadd MySQL # useradd -g MySQL MySQL # tar -zxvf MySQL-max-419-pc-linux-gnu-i686targz # rm -f MySQL-max-419-pc-linux-gnu-i686targz # mv MySQL-max-419-pc-linux-gnu-i686 MySQL # cd MySQL # scripts/MySQL_install_db --user=MySQL # chown -R root # chown -R MySQL data # chgrp -R MySQL # cp support-files/MySQLserver /etc/rcd/initd/MySQLd # chmod x /etc/rcd/initd/MySQLd # chkconfig --add MySQLd
此时不要启动MySQL!
三、安装并配置管理节点服务器(Server3)
作为管理节点服务器,Server3需要ndb_mgm和ndb_mgmd两个文件:
# mkdir /usr/src/MySQL-mgm # cd /usr/src/MySQL-mgm # tar -zxvf MySQL-max-419-pc-linux-gnu-i686targz # rm MySQL-max-419-pc-linux-gnu-i686targz # cd MySQL-max-419-pc-linux-gnu-i686 # mv bin/ndb_mgm # mv bin/ndb_mgmd # chmod x ndb_mg # mv ndb_mg /usr/bin/ # cd # rm -rf /usr/src/MySQL-mgm
现在开始为这台管理节点服务器建立配置文件:
# mkdir /var/lib/MySQL-cluster # cd /var/lib/MySQL-cluster # vi configini
在configini中添加如下内容:
[NDBD DEFAULT] NoOfReplicas=2 [MySQLD DEFAULT] [NDB_MGMD DEFAULT] [TCP DEFAULT] # Managment Server [NDB_MGMD]
HostName=19216803 #管理节点服务器Server3的IP地址
# Storage Engines
[NDBD]
HostName=19216801 #MySQL集群Server1的IP地址
DataDir= /var/lib/MySQL-cluster
[NDBD]
HostName=19216802 #MySQL集群Server2的IP地址
DataDir=/var/lib/MySQL-cluster
# 以下2个[MySQLD]可以填写Server1和Server2的主机名。
# 但为了能够更快的更换集群中的服务器,推荐留空,否则更换服务器后必须对这个配置进行更改。
[MySQLD]
[MySQLD]
保存退出后,启动管理节点服务器Server3:
# ndb_mgmd
启动管理节点后应该注意,这只是管理节点服务,并不是管理终端。因而你看不到任何关于启动后的输出信息。
四、配置集群服务器并启动MySQL
在Server1和Server2中都需要进行如下改动:
# vi /etc/mycnf
[MySQLd]
ndbcluster
ndb-connectstring=19216803 #Server3的IP地址
[MySQL_cluster]
ndb-connectstring=19216803 #Server3的IP地址
保存退出后,建立数据目录并启动MySQL:
# mkdir /var/lib/MySQL-cluster # cd /var/lib/MySQL-cluster # /usr/local/MySQL/bin/ndbd --initial # /etc/rcd/initd/MySQLd start
可以把/usr/local/MySQL/bin/ndbd加到/etc/rclocal中实现开机启动。
注意:只有在第一次启动ndbd时或者对Server3的configini进行改动后才需要使用--initial参数!
0条评论