superadmin 发表于 2008-10-24 18:00:22

Linux安装多个MySQL

Linux安装多个MySQL,本文共提供了两种安装方式。
1、按照常规安装。
# chown -R root .
# chown -R mysql data
# chgrp -R mysql .
# cp support-files/my-small.cnf /etc/my5122.cnf
# scripts/mysql_install_db --basedir=/usr/local/mysql5122/ --datadir=/usr/local/mysql5122/data/ --user=mysql
Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

。。。
首次启动MYSQL
# bin/mysqld_safe --defaults-file=/etc/my5122.cnf &
13700
# 080124 15:01:46 mysqld_safe Logging to '/usr/local/mysql5122/data/localhost.localdomain.err'.
080124 15:01:46 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql5122/data

# bin/mysql -uroot -p -S/tmp/mysql5122.sock
Enter password:
Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.22-rc MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
+--------------------+
| Database         |
+--------------------+
| information_schema |
| mysql            |
| test               |
+--------------------+
3 rows in set (0.00 sec)

给MYSQLD_MULTI赋SHUTDOWN权限。
mysql> grant shutdown on *.* to multi_admin@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

停掉MYSQL服务。
# /usr/local/mysql5122/bin/mysqladmin -uroot -p -S/tmp/mysql5122.sock shutdown
Enter password:
#

拷贝元数据。
# cp data data2
# mv data data1
# chown -R mysql data2
# chgrp -R mysql .

示例配置文件
# cat /etc/my5122.cnf

mysqld   = /usr/local/mysql5122/bin/mysqld_safe
mysqladmin = /usr/local/mysql5122/bin/mysqladmin
user       = multi_admin
password   = 123456
# The MySQL server

socket   = /tmp/mysql1.sock
port       = 3307
pid-file   = /usr/local/mysql5122/data1/david_yeung.pid1
datadir    = /usr/local/mysql5122/data1
language   = /usr/local/mysql5122/share/mysql/english
user       = mysql
# The MySQL server

port            = 3308
socket          = /tmp/mysql2.sock
pid-file   = /usr/local/mysql5122/data2/david_yeung.pid2
datadir    = /usr/local/mysql5122/data2
language   = /usr/local/mysql5122/share/mysql/english
user       = mysql
。。。

key_buffer = 8M
sort_buffer_size = 8M


key_buffer = 8M
sort_buffer_size = 8M


interactive-timeout
#

启动两个MYSQL服务
# /usr/local/mysql5122/bin/mysqld_multi --config-file=/etc/my5122.cnf start 1-2
# netstat -an | grep 3307
tcp      0      0 0.0.0.0:3307                0.0.0.0:*                   LISTEN      
# netstat -an | grep 3308
tcp      0      0 0.0.0.0:3308                0.0.0.0:*                   LISTEN      
# /usr/local/mysql/bin/mysql -uroot -p -S/tmp/mysql1.sock
Enter password:
Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.22-rc-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> \q
Bye
# /usr/local/mysql/bin/mysql -uroot -p -S/tmp/mysql2.sock
Enter password:
Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.22-rc-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> \q
Bye
#

2、另外一种。
# chown -R root .
# chown -R mysql data
# chgrp -R mysql .
# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql512/ --datadir=/usr/local/mysql512/data/
# cp support-files/my-huge.cnf /etc/my512.cnf

并且修改如下部分。

port            = 3308
socket          = /tmp/mysql512.sock

# The MySQL server

user=mysql
basedir=/usr/local/mysql512
datadir=/usr/local/mysql512/data
port            = 3308
socket          = /tmp/mysql512.sock

# /usr/local/mysql512/bin/mysqld_safe --defaults-file=/etc/my512.cnf &
# /usr/local/mysql/bin/mysql -uroot -p -S/tmp/mysql512.sock
Enter password:
Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.22-rc-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
+--------------------+
| Database         |
+--------------------+
| information_schema |
| mysql            |
| test               |
+--------------------+
3 rows in set (0.00 sec)

mysql> \q
Bye

确定3308端口是否在运行。
# netstat -an |grep 3308
tcp      0      0 0.0.0.0:3308                0.0.0.0:*                   LISTEN   

把脚本写到启动文件里:
/usr/local/mysql512/bin/mysqld_safe --defaults-file=/etc/my512.cnf
页: [1]
查看完整版本: Linux安装多个MySQL

网站推广