apt-cache search ncurses
apt-get install libncurses5-dev

至此,接下来的make && make install 都没有出现错误。

二,配置多实例

这个过程折腾了好长的时间,其实主要还是各个配置文件的问题,如果权限,路径等一些基本的配置信息准确无误的话,应该是比较快的一个过程。

1、安装完成后,首先运行mysql看看是否可以正常使用数据库。

mysql>

2、配置访问用户和组

groupadd mysql #添加mysql用户组
useradd -g mysql mysql #创建mysql用户并把它放到mysql组下
chown -R mysql:mysql /usr/local/mysql #修改mysql文件属性

说明:这个地方有的时候我不好区分到底哪个是用户名,哪个是组名,于是我改成了别的名字,后来发现这样改掉之后在mysql的执行脚本里,用户默认是mysql,所以不建议在这里改用其他的用户和组的名称。

为了方便使用下面的多个mysql程序,可以先将mysql的程序路径加入到环境变量里:

#临时添加:export PATH=$PATH:/usr/local/mysql/bin  #注销登录就没有了

#永久添加:修改/root/.bashrc

在文件最末添加命令:

PATH=$PATH:/usr/local/mysql/bin

3、初始化数据目录,修改文件夹属性

#初始化数据目录

mysql_install_db --datadir=/usr/local/mysql/var/data1 --user=mysql
mysql_install_db --datadir=/usr/local/mysql/var/data2 --user=mysql

说明:这个过程中如果出现了无法创建的错误,一般来讲是权限问题,参考下面的权限错误链接

#修改属性

chown -R mysql /usr/local/mysql/var/data1
chown -R mysql /usr/local/mysql/var/data2

4、多实例的启动脚本(不知道是不是必须)得从安装文件源码中复制

cp /usr/local/src/mysql-5.1.65/support-files/mysqld_multi.server /etc/init.d/mysqld_multi.server

#修改basedir和bindir为安装路径

basedir=/usr/local/mysql/var    #如果数据目录的路径跟默认的不一样就得在这里更改
bindir=/usr/local/mysql/bin    #程序路径

5、启动脚本准备好之后,就是多实例的配置文件,配置文件可以用参数自由指定,

查看mysqld_multi --example可以知道配置文件的格式。网上一大把,就不多说了。下面给出我完整的配置文件信息mysqld_muliti.cnf(内容很少很简单):

[mysqld_multi]
mysqld     = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
log        = /usr/local/mysql/mysqld_multi.err
#user       = mysql
#password   = my_password
[mysqld2]
port     = 3307
socket   = /tmp/mysql.sock1
pid-file = /usr/local/mysql/var/data1/ubuntu2.pid1
datadir  = /usr/local/mysql/var/data1
log      = /usr/local/mysql/var/data1/mysql_1.log
user     = mysql
[mysqld3]
port       = 3308
socket     = /tmp/mysql.sock2
pid-file   = /usr/local/mysql/var/data2/ubuntu2.pid2
datadir    = /usr/local/mysql/var/data2
log        = /usr/local/mysql/var/data1/mysql_2.log
user       = mysql

是的,就这么点,你没有看错!因为我就起了2个实例。

6、执行

mysqld_multi --defaults-extra-file=/usr/local/mysql/etc/mysqld_multi.cnf report

#report 参数不仅仅是用来报告目前的数据库运行状态,而且还可以用来检查配置文件的格式,参数是否正确,配合/usr/local/mysql/mysqld_multi.err错误日志可以很容易的发现配置中的一些基本错误。

启动:mysqld_multi --defaults-extra-file=/usr/local/mysql/etc/mysqld_multi.cnf start

#查看是否有活动进程

ps -aux|grep mysql

#查看相应端口是否已经被监听

netstat -tunlp

通过sock文件登录

mysql -u root -p -S /tmp/mysql1.sock

********************************************************