为mysql添加端口号为3309的实例:

本文详细介绍了如何在MySQL中添加新端口实例,并通过配置多实例启动脚本来实现对不同端口数据库的管理。包括数据目录创建、配置文件修改、初始化数据目录、权限设置、多实例启动脚本配置、服务关闭与启动、密码修改及验证等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为mysql添加端口号为3309的实例:
一 添加新端口的数据目录:mkdir /usr/local/mysql/var1

二 修改my.cnf的配置信息:
   1将client的默认端口3306注释掉
[client]
#password       = your_password
#port           = 3306
socket          = /tmp/mysql.sock
  2  添加mysqld_multi配置信息
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = root
#password = root
  3 添加新实例对应的端口及参数信息:
[mysqld2]
user            = mysql
port      = 3309
socket    = /tmp/mysql1.sock
pid-file=/usr/local/mysql/var1/db-app1.pid
log=/usr/local/mysql/var1/db-app1.log
datadir = /usr/local/mysql/var1/
basedir = /usr/local/mysql
user = root
三 初始化数据目录 为新端口安装数据库:(也可以将mysql原来的数据文件目录cp过来 cp /usr/local/mysql/var  /usr/local/mysql/var2  chown ...chgrp...)
sudo /usr/local/mysql/bin/mysql_install_db --datadir=/usr/local/mysql/var1 --user=mysql
四 修改var1的用户及用户组: (注意 修改权限必须要再安装mysql数据库之后
sudo chown -R mysql var1
sudo chgrp -R mysql var1

配置多实例启动脚本
cp /home/sunny.zhao/ mysql-5.1.51/support-files/mysqld_multi.server /etc/init.d/mysqld_multi.server
检查mysqld_multi.server 的 basedir和bindir安装路径basedir=/usr/local/mysqlbindir=/usr/local/mysql/bin

六  关闭mysql服务 mysqladmin -uroot -p*** shutdown

#查看数据库状态#结果都为没有运行Reporting MySQL serversMySQL server from group: mysqld1 is not runningMySQL server from group: mysqld2 is not running

sudo mysqld_multi --defaults-extra-file=/etc/my.cnf start
#启动具体某一个实例可在start、stop后面加上具体数据1,2,3等
sudo mysqld_multi --defaults-extra-file=/etc/my.cnf report
登录端口为3309mysql实例: mysql -uroot -p -h127.0.0.1 -P3309
#通过sock文件登录mysql -uroot -p -S /usr/local/var/mysql1/mysql1.sock #查看socket文件mysql> SHOW VARIABLES LIKE 'socket';
+---------------+------------------+
| Variable_name | Value            |
+---------------+------------------+
| socket        | /tmp/mysql1.sock |
+---------------+------------------+
1 row in set (0.00 sec)

mysql> SHOW VARIABLES LIKE '%pid%';
+---------------+-----------------------------------+
| Variable_name | Value                             |
+---------------+-----------------------------------+
| pid_file      | /usr/local/mysql/var1/db-app1.pid |
+---------------+-----------------------------------+
1 row in set (0.00 sec)

mysqld_multi stop 1,2 关闭1,2数据库。
sudo mysqld_multi --defaults-extra-file=/etc/my.cnf stop 1-2
或者  $ sudo mysqladmin -uroot -pmysql -P3312 -h127.0.0.1 shutdown


修改密码: bin]$ mysqladmin -uroot -P3309 -h127.0.0.1  password ***
登录:bin]$  mysql -uroot -pmysql -h127.0.0.1 -P3309
  检查MySQL启动状态

netstat -ntlp | grep 33   查看MySQL端口启动状态

[ bin]$ netstat -ntl | grep 33


tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN

tcp        0      0 0.0.0.0:3307                0.0.0.0:*                   LISTEN

tcp        0      0 0.0.0.0:3309                0.0.0.0:*                   LISTEN



ls -l /tmp/*sock*      查看MySQL访问连接
y bin]$ ls -l /tmp/*sock*
srwxrwxrwx 1 root  root  0 Sep 19 09:08 /tmp/mysql1.sock
srwxrwxrwx 1 mysql mysql 0 Jul 20 14:50 /tmp/mysql2.sock
srwxrwxrwx 1 mysql mysql 0 Sep 19 10:16 /tmp/mysql.sock
srwxrwxrwx 1 root  root  0 Sep 19 10:13 /tmp/mysql.sock2

ps -ef | grep mysql     查看MySQL实例进程

root      7281     1  0 10:13 pts/5    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --socket=/tmp/mysql.sock2 --port=3309 --pid-file=/usr/local/mysql/var1/hostname.pid2 --datadir=/usr/local/mysql/var1 --user=root --socket=/tmp/mysql.sock2 --port=3309 --pid-file=/usr/local/mysql/var1/hostname.pid2 --datadir=/usr/local/mysql/var1 --user=root
root      7453  7281  0 10:13 pts/5    00:00:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var1 --user=root --log-error=/usr/local/mysql/var1/mysql-test-woody.err --pid-file=/usr/local/mysql/var1/hostname.pid2 --socket=/tmp/mysql.sock2 --port=3309

root      7838     1  0 10:16 pts/5    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --port=3306 --socket=/tmp/mysql.sock --skip-external-locking --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/var/ .... --pid-file=/usr/local/mysql/var/mysql.pid
--log-error=/usr/local/mysql/var/mysql.err --pid-file=/usr/local/mysql/var/mysql.pid --socket=/tmp/mysql.sock --port=3306
不知道为什么用top命令查看进程的时候为什么只能看到一个 看不到两个进程 ???????
[*@*top]
8216 mysql     20   0  168m  28m 3872 S  0.0  2.9   0:00.34 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/var/ --user=mysql --skip-external-locking --key_b
相关不错的博文:http://alicsd.iteye.com/blog/856939

 
  
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值