linux 多个mysql 并存_linux下同时运行多个mysql - 目标→Linux - 51CTO技术博客

来自网络,感谢开源,感谢分享

通过rpm安装mysql,测试版本5.1.48

1、在linux下通过:

#useradd multi -g mysql -s /sbin/nologin添加一个multi用户,并加入到mysql组

#passwd multi给multi用户添加密码,这里设置的密码为multi

2、拷贝数据文件:

rpm安装mysql默认datadir为/var/lib/mysql (同时启动两个mysql,拷贝2份数据文件)

#cp -R /var/lib/mysql /var/lib/mysql1

#cp -R /var/lib/mysql /var/lib/mysql2

3、修改权限

#chmod -R 777 /var/lib/mysql1

#chmod -R 777 /var/lib/mysql2

4、设置my.cnf

My.cnf如下:

# This file should probably be in your home dir (~/.my.cnf)

# or /etc/my.cnf

# Version 2.1 by Jani Tolonen

[mysqld_multi]

mysqld= /usr/bin/mysqld_safe

mysqladmin = /usr/bin/mysqladmin

user= multi

password= multi

[mysqld1]

socket= /tmp/mysql.sock1

port= 3306

pid-file= /var/lib/mysql1/db.pid1

datadir= /var/lib/mysql1

skip-locking

log-error = /var/lib/mysql1/db1.err

user = mysql

long_query_time = 1

key_buffer = 256M

max_allowed_packet = 200M

table_cache = 512

sort_buffer_size = 2M

read_buffer_size = 2M

myisam_sort_buffer_size = 64M

thread_cache = 32

query_cache_size = 32M

thread_concurrency = 2

max_connections=1000

server-id = 1

character-set-server=utf8

[mysqld2]

socket= /tmp/mysql.sock2

port= 3307

pid-file= /var/lib/mysql2/db.pid2

datadir= /var/lib/mysql2

skip-locking

log-error = /var/lib/mysql2/db2.err

user = mysql

long_query_time = 1

key_buffer = 256M

max_allowed_packet = 200M

table_cache = 512

sort_buffer_size = 2M

read_buffer_size = 2M

myisam_sort_buffer_size = 64M

thread_cache = 32

query_cache_size = 32M

thread_concurrency = 2

max_connections=1000

server-id = 2

character-set-server=utf8

5、启动mysql

#mysqld_multi start 1-2

6、命令行登录mysql

#mysql -u root -S /tmp/mysql.sock1 -p登录第一个mysql

#mysql -u root -S /tmp/mysql.sock2-p登录第二个mysql

7、关闭mysql,只有登录每个mysql,给multi用户添加权限后才可以通过mysqld_multi stop 1-2来停止mysql

1)mysql -u root -S /tmp/mysqld.sock1 -p

GRANT SHUTDOWN ON *.* TO 'multi'@'localhost' IDENTIFIED BY 'multi';

2)mysql -u root -S /tmp/mysqld.sock2 -p

GRANT SHUTDOWN ON *.* TO 'multi'@'localhost' IDENTIFIED BY 'multi';

停止:

mysqld_multi stop 1-2(可以通过mysqld_multi stop 1来停止其中的任意个mysql)

8、赋予远程登录权限

登录mysql shell,分别在两个mysql上运行一下语句,允许远程连接mysql

mysql> UPDATE mysql.user SET Host='%' WHERE Host='localhost' ;

mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%";

mysql> FLUSH PRIVILEGES ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值