先到http://dev.mysql.com/downloads/mysql/下载一个mysql,我使用的版本是mysql5.1.53。接着解压。
安装步骤如下:
先执行官方的步骤:
shell> groupadd mysql
shell> useradd -g mysql mysql
# Source-build specific instructions
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
# End of Source-build specific instructions
shell> cd /usr/local/mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> bin/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql var
shell> cp support-files/my-medium.cnf /etc/my.cnf #optional
shell> bin/mysqld_safe --user=mysql &
运行多个实例
执行
bin/mysqld_multi --example
会自动列出配置文件的模板,如:
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = multi_admin
password = my_password
[mysqld2]
socket = /tmp/mysql.sock2
port = 3307
pid-file = /usr/local/mysql/var2/hostname.pid2
datadir = /usr/local/mysql/var2
language = /usr/local/mysql/share/mysql/english
user = unix_user1
[mysqld3]
###### mysqld = /path/to/mysqld_safe
###### ledir = /path/to/mysqld-binary/
###### mysqladmin = /path/to/mysqladmin
socket = /tmp/mysql.sock3
port = 3308
pid-file = /usr/local/mysql/var3/hostname.pid3
datadir = /usr/local/mysql/var3
language = /usr/local/mysql/share/mysql/swedish
user = unix_user2
[mysqld4]
socket = /tmp/mysql.sock4
port = 3309
pid-file = /usr/local/mysql/var4/hostname.pid4
datadir = /usr/local/mysql/var4
language = /usr/local/mysql/share/mysql/estonia
user = unix_user3
[mysqld6]
socket = /tmp/mysql.sock6
port = 3311
pid-file = /usr/local/mysql/var6/hostname.pid6
datadir = /usr/local/mysql/var6
language = /usr/local/mysql/share/mysql/japanese
user = unix_user4
注意[mysqld3]中打井号的行,感觉是mysql5.1.53一个bug,生成多余的配置,把它去掉就可以了。
现在我要运行2个mysql实例,修改上面的配置,如:
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = root
password = root
[mysqld2]
socket = /tmp/mysql.sock2
port = 3307
pid-file = /usr/local/mysql/var2/hostname.pid2
datadir = /usr/local/mysql/var2 ##数据库的数据文件
language = /usr/local/mysql/share/mysql/english
user = mysql
[mysqld3]
socket = /tmp/mysql.sock3
port = 3308
pid-file = /usr/local/mysql/var3/hostname.pid3
datadir = /usr/local/mysql/var3 ##数据库的数据文件
language = /usr/local/mysql/share/mysql/english
user = mysql
把这些配置加到/etc/my.cnf配置文件的底部。
初始化数据库
这一步很重要,数据文件没有初始化,就启动不起来数据库实例。
创建数据库的数据目录:
sudo mkdir /usr/local/mysql/var2
sudo mkdir /usr/local/mysql/var3
修改权限:
chown -R mysql /usr/local/mysql/var2
chown -R mysql /usr/local/mysql/var3
创建数据文件:
sudo bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql/var2
sudo bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql/var3
启动2个数据库实例
sudo bin/mysqld_multi start 2
sudo bin/mysqld_multi start 3
验证是否启动成功了
telnet 127.0.0.1 3307
telnet 127.0.0.1 3308
有数据返回,说明新加的两个实例已经运行起来了!
最后把两个实例的用户名和密码都设置为root,命令如下:
mysqladmin -h127.0.0.1 -P3307 -uroot -p password root
mysqladmin -h127.0.0.1 -P3308 -uroot -p password root
by 毛导