先到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 毛导