在深闭固拒台机器上运行七个MySQL服务器

这里port_number和file_name应该不一样于缺省端口号和套接字文件路线名,而且

这里port_number和file_name应该差别于缺省端口号和套接字文件路线名,而且
–prefix值应该钦赐贰个不一样于现有的MySQL安装所在的安装目录。

你可以用这一个命令检查由其他当前施行的MySQL所运用的套接字和端口:
shell> mysqladmin -h hostname –port=port_number variables
若是你有三个MySQL服务器正运转在您利用了的端口上,你将收获MySQL的有些最要害的
可配备变量的一张表,包蕴套接字名等。
你也应当编辑你机器的开头化脚本(只怕是“mysql.server”)来运行并杀死八个mysqld服务器。
您不要再次编写翻译三个新MySQL服务器,只要以一个不等的端口和套接字运维就可以。 你能够因而点名在运营时safe_mysqld使用的选项来改造端口和套接字:
shell> /path/to/safe_mysqld –socket=file_name –port=port_number
比如你在与开启日志的另一个服务器一样的七个数据库目录下运营新服务器,你也理应用safe_mysqld的–log和–log-update选项来钦命日志文件的名字,否则,七个服务器可能正在准备写入同一个日记文件。

您能实行ls -ld

若果你想要为第一个服务器使用另三个数据库目录,你能够动用safe_mysqld的

假若您想要运营三个服务器,最轻巧的不二诀要是用差异的TCP/IP端口和套接字文件再一次编写翻译服务器,由此他们不是侦听同二个TCP/IP端口或套接字。
只要三个留存服务器配置为缺省端口号和套接字文件, 那么用一个那样configure命令行设置新的服务器:

那将爱抚你的“/tmp”文件系统使得文件仅能由他们的主人或特级用户(root)删除。

若是你想要运转七个服务器,最轻巧的法门是用差别的TCP/IP端口和套接字文件再度编写翻译服务器,由此他们不是侦听同七个TCP/IP端口或套接字。

您能够用这么些命令检查由其它当前实施的MySQL所利用的套接字和端口:
shell> mysqladmin -h hostname –port=port_number variables
若果您有一个MySQL服务器正运营在您利用了的端口上,你将获得MySQL的片段最注重的
可配置变量的一张表,包蕴套接字名等。
您也应有编辑你机器的开始化脚本(或许是“mysql.server”)来运维并杀死七个mysqld服务器。
您不用再一次编写翻译三个新MySQL服务器,只要以一个例外的端口和套接字运营就能够。 你能够因而点名在运营时safe_mysqld使用的选项来改动端口和套接字:
shell> /path/to/safe_mysqld –socket=file_name –port=port_number
假如您在与开启日志的另多少个服务器同样的一个数据库目录下运转新服务器,你也理应用safe_mysqld的–log和–log-update选项来钦点日志文件的名字,不然,多少个服务器恐怕正在图谋写入同二个日志文件。

提个醒:日常你不用应该有在同二个数据库中立异数据的2个服务器! 即便您的OS不帮忙无故障(fault-free)的系统锁定,那说不定产生令人惊异的事体产生!
设若您想要为首个服务器使用另三个数据库目录,你可以选拔safe_mysqld的
–datadir=path选项。
当您想要连接一个正值运作的, 使用一个不一样于编写翻译进你的客户程序中端口的MySQL服务器时,你能够使用下列方法之一:
�–host ‘hostname’ –port=port_numer或[–host localhost] –socket=file_name
起步客户。
在你的C或Perl程序中,当连接MySQL服务器时,你能够给出端口和套接字参数。
在您运转客户程序在此以前,设置MYSQL_UNIX_PORT和MYSQL_TCP_PORT蒙受变量, 指向Unix套接字和TCP/IP的端口。如若您平常选取三个特定的套接字或端口,你应当将设置那几个遭遇变量的一声令下放进你的“.login”文件中。
在你的主目录下的“.my.cnf”文件中内定缺省套接字和TCP/IP端口。

/tmp检查sticky位是或不是棉被服装置,如若最后一人许可位是t,该位被安装了。

一个MySQL客户可以二种不相同的办法连接mysqld服务器:Unix套接字,它经过在文件系统中的一个文书(缺省“/tmp
/mysqld.sock”)进行三番五次;或TCP/IP,它经过一个端口号连接。Unix套接字比TCP/IP越来越快,可是只有用在接二连三同一台Computer上的服
务器。倘诺您不点名主机名或只要你钦命特别的主机名localhost,使用Unix套接字。

谬误(2004)Can ‘t connect to
…平时意味着未有贰个MySQL服务器运行在系统上或当试图连接mysqld服务器时,你正在利用一个荒唐的套接字文件或TCP/IP端口。

由检查(使用ps)在您的服务器上有一个名称叫mysqld的经过运维!倘诺没有别的mysqld进程,你应该运维一个。

只要二个mysqld进度正在运营,你能够经过尝试那几个不相同的连天来检查服务器(当然,端口号和套接字路线名可能在你的安装中是见仁见智的):

shell> mysqladmin version
shell> mysqladmin variables
shell> mysqladmin -h `hostname` version variables
shell> mysqladmin -h `hostname` –port=3306 version
shell> mysqladmin -h ‘ip for your host ‘ version
shell> mysqladmin –socket=/tmp/mysql.sock version
瞩目hostname命令使用反引号“`”而非正引号“
‘”;那一个产生hostname输出(即,当前主机名)被代替进mysqladmin命令中。

这是唯恐导致Can ‘t connect to local MySQL server错误的有的原因:

mysqld不在运转。
您正在使用MIT-pthreads的三个类别上运营。要是正在运行在多少个不曾原生线程的系列上,mysqld使用
MIT-pthreads
软件包。然则,MIT-pthreads不支持Unix套接字,由此当与服务器连接时,在这么三个体系上,你总是必须旗帜明显地钦赐主机名。试试使用那么些命令
检查到服务器的连日:
shell> mysqladmin -h `hostname` version
某人删除了mysqld使用的Unix套接字(缺省“/tmp/mysqld.sock”)。你大概有三个cron任务删除了MySQL套接字(比方,八个把旧文件从“/tmp”目录中删去的天职)。你总是能够运转mysqladmin
version并且检查mysqladmin正在图谋动用的套接字确实存在。在这种气象下,修复方法是删除cron职责而不删除“mysqld.sock
或将套接字放在别的地方。你能用这么些命令在MySQL配置时钦命一个不及的套接字地方:
shell> ./configure –with-unix-socket-path=/path/to/socket
你也足以使用–socket=/path/to/socket选项运维safe_mysqld和在起步你的MySQL客户前安设碰着变量
MYSQL_UNIX_PORT为套接字路线名。你可用–socket=/path/to/socket选项运行mysqld服务器。要是您更改了服务
器的套接字路线名,你也务必通报MySQL客户有关新路线的气象。你能够透过安装意况变量MYSQL_UNIX_PORT为套接字路线名或由提供套接字路径名作为客户的参数做到。你可用这几个命令测试套接字:

shell> mysqladmin –socket=/path/to/socket version
您正在采取Linux和线程已经死了(主题倾倒了)。在这种状态中,你必须杀死别的mysqld线程(举个例子在开发银行八个新的MySQL服务器以前,能够用mysql_zap脚本)。见18.1
如果MySQL总是崩溃咋做。
一旦您猎取错误Can ‘t connect to MySQL server on
some_hostname,你能够尝试下列步骤找寻难点是如何:

因此施行telnet your-host-name
tcp-ip-port-number并且按五回回车来检查服务器是或不是健康运维。假设有二个MySQL运行在那几个端口上,你应该获得一个带有正在运维的
MySQL服务器的本子号的答问。假诺您获取近似于telnet: Unable to connect to
remote host: Connection
refused的八个荒唐,那么未有服务器在应用的端口上运营。
尝试连接本地机械上的mysqld守护进度,并用mysqladmin
variables检查mysqld被安顿使用的TCP/IP端口(变量port)。
反省你的mysqld服务器并未有用–skip-networking选项运转。

并非选取 mysql -h ‘localhost
‘来接二连三mysql服务器,那样的言辞只好在百折不挠台机子上运行,用mysql -h
127.0.0.1 那样的语句来延续服务器。

 

prefix=/usr/local/mysql-3.22.9

警示:日常你不用应该有在同二个数据库中更新数据的2个服务器! 若是您的OS不支持无故障(fault-free)的系统锁定,那恐怕导致令人惊讶的事体产生!
借使您想要为第贰个服务器使用另一个数据库目录,你能够运用safe_mysqld的
–datadir=path选项。
当您想要连接两个正在运作的, 使用二个分化于编译进你的客户程序中端口的MySQL服务器时,你能够采纳下列格局之一:
�–host ‘hostname’ –port=port_numer或[–host localhost] –socket=file_name
起步客户。
在你的C或Perl程序中,当连接MySQL服务器时,你能够给出端口和套接字参数。
在你运转客户程序在此以前,设置MYSQL_UNIX_PORT和MYSQL_TCP_PORT情况变量, 指向Unix套接字和TCP/IP的端口。倘若你平凡选拔贰个一定的套接字或端口,你应当将设置这一个情形变量的指令放进你的“.login”文件中。
在你的主目录下的“.my.cnf”文件中钦定缺省套接字和TCP/IP端口。

如若你想要运维八个服务器,最轻松的方法是用不一致的TCP/IP端口和套接字文件再一次编写翻译服务器,因而他们不是侦听同贰个TCP/IP端口或套接字。
若果四个留存服务器配置为缺省端口号和套接字文件, 那么用贰个这么configure命令行设置新的服务器:

=============================================
怎么着爱戴“/tmp/mysql.sock ”不被删去

告诫:常常你不用应该有在同三个数据库中创新数据的2个服务器!
假若你的OS不帮衬无故障(fault-free)的系统锁定,那说不定形成令人傻眼的政工发生!

shell> ./configure –with-tcp-port=port_number 
–with-unix-socket=file_name 
–prefix=/usr/local/mysql-3.22.9

这里port_number和file_name应该差异于缺省端口号和套接字文件路线名,而且
–prefix值应该钦赐二个差异于现有的MySQL安装所在的安装目录。

Can ‘t connect to local MySQL server through socket
‘/var/lib/mysql/mysql.sock ‘(2) “;

启航客户。

shell> ./configure –with-tcp-port=port_number 
–with-unix-socket=file_name 
–prefix=/usr/local/mysql-3.22.9

shell> chmod +t /tmp

shell> /path/to/safe_mysqld socket=file_name port=port_number

[mysqld]
socket=/usr/local/var/mysql.sock
[client]
socket=/usr/local/var/mysql.sock
对服务器和客户均钦赐路线名,使得它们都采纳同贰个套接字文件。假如你只为服务器设置路线,客户程序将依然期待在原职责推行套接字,在更换后重启服务器,使它在新岗位创造套接字

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图