通過rpm安裝mysql,測試版本5.1.48
1、在linux下通過:
#useradd multi -g mysql -s /sbin/nologin 添加一個multi用戶,并加入到mysql組
#passwd multi 給multi用戶添加密碼,這里設置的密碼為multi
2、拷貝數(shù)據(jù)文件:
rpm安裝mysql默認datadir為/var/lib/mysql (同時啟動兩個mysql,拷貝2份數(shù)據(jù)文件)
#cp -R /var/lib/mysql /var/lib/mysql1
#cp -R /var/lib/mysql /var/lib/mysql2
3、修改權(quán)限
#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、關(guān)閉mysql,只有登錄每個mysql,給multi用戶添加權(quán)限后才可以通過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、賦予遠程登錄權(quán)限
登錄mysql shell,分別在兩個mysql上運行一下語句,允許遠程連接mysql
mysql> UPDATE mysql.user SET Host='%' WHERE Host='localhost' ;
mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%";
mysql> FLUSH PRIVILEGES ;