`
csd_ali
  • 浏览: 134023 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

linux中源码安装mysql,并启动多个实例

阅读更多

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

分享到:
评论
1 楼 grzrt 2012-06-25  
不错,简单明了

相关推荐

Global site tag (gtag.js) - Google Analytics