重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在同一个mysqld上运行多个端口服务器的3306端口上已经运行了一个mysql服务,配置文件位于默认的 etc my
成都创新互联是一家专注于网站设计制作、网站设计与策划设计,三水网站建设哪家好?成都创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:三水等地区。三水做网站价格咨询:18980820575
cnf下,现在需要再开一个端口运行mysql服务,希望能重用当前mysql的配置(修改某项共用配置时只需要修改一
在同一个mysqld上运行多个端口
服务器的3306端口上已经运行了一个mysql服务,配置文件位于默认的/etc/my点吸烟 f下,现在需要再开一个端口运行mysql服务,希望能重用当前mysql的配置(修改某项共用配置时只需要修改一处即可)。
网上有一篇通过mysqld_multi在同一个mysql下运行多个示例的文章,它是在配置文件的[mysqld_multi]里指定程序路径,[mysqld1]、[mysql2]里分别指定相应的配置。但我还是想直接通过mysqld_safe方式启动,不想在公共配置里指定每一个datadir目录。经过一番摸索,可以这样做:
0.
当前默认端口3306的配置和启动方式:
/etc/my.ini中的配置:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
通过如下方式启动
cd /usr/local/stow/mysql-5.0.51a-linux-i686-icc-glibc23
./bin/mysqld_safe
1.
配置3307端口mysql
1.1
创建数据库
cd /usr/local/stow/mysql-5.0.51a-linux-i686-icc-glibc23
./scripts/mysql_install_db --datadir=/home/zhouguoqiang/tmp/mysql_3307/data
不必理会其中的warning、ERROR信息。此外,如果没有特殊说明,下文均是在当前目录下操作。
1.2
指定3307专有的配置
编辑文件/home/zhouguoqiang/tmp/mysql_3307/my点吸烟 f,添加如下内容:
[mysqld]
port = 3307
socket = /tmp/mysql_3307.sock
datadir = /home/zhouguoqiang/tmp/mysql_3307/data
innodb_data_home_dir = /home/zhouguoqiang/tmp/mysql_3307/data
innodb_log_group_home_dir = /home/zhouguoqiang/tmp/mysql_3307/data
注意,如果使用了innodb类型的数据库或者/etc/my点吸烟 f里指定了innodb目录相关的参数,这里一定要重新指定成适当位置,否则将会共用3306中的innodb_data_home_dir和innodb_log_group_home_dir,进而导致3307端口的mysql启动失败(没有权限或者文件被锁)。
1.3
启动3307端口的数据库
./bin/mysqld_safe --defaults-extra-file=/home/zhouguoqiang/tmp/mysql_3307/my点吸烟 f
需要注意的是,还有一个参数--defaults-file,二者是有区别的:
--defaults-file
加载指定的配置文件,将会完全覆盖/etc/my点吸烟 f中的配置
--default-extra-file
加载配置文件中指定的项,不会完全覆盖/etc/my点吸烟 f中的配置。如果同时在/etc/my点吸烟 f中配置过,将会优先使用指定配置文件里的。
1.4
访问3307端口的数据库
由于默认是3306端口,因此需要指定端口号
mysql -uroot -P 3307 -h 127.0.0.1
必须指定-h,而且不能使用localhost
1.5
停止3307端口的数据库
mysqladmin -uroot -S /tmp/mysql_3307.sock shutdown
1、首先,进入到控制台下,下图是我用了putty工具,远程实现的控制。之后输入“netstat -an | grep 3306”即可查看是否开启,如下图只显示listen则标识未开启。
2、之后,通过cd命令进入到etc/mysql目录下。然后输入ls命令,即可看到该目录下的文件。
3、文件中会看到有my点吸烟 f。通过“vi my点吸烟 f”命令进入到编辑的状态下。
4、之后,把“bind-address =127.0.0.1”注释掉或者换成需要远程连接的ip地址,或者是直接把这句删除掉,然后,进行保存即可。
在配置文件my.ini中找到port 修改port的值j就可以,例如:
port=3307
重启mysql服务,mysql的端口就改成3307了
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#skip_grant_tables 这个先不要,这是忽略权限。
#设置3306端口----------
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql-5.7.10-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-5.7.10-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES