linux下启动sql数据库实例,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 毛导

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值