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
********************************************************
参考文章: