ubuntu11.04源码包安装两个mysql数据库

来源:互联网 发布:空天地一体化网络 编辑:程序博客网 时间:2024/05/14 10:20
Linux(ubuntu11.04)安装两个mysql    

借鉴文章的网址::http://www.cnblogs.com/Nstd/archive/2012/10/12/2721809.html

虽然出现了一些错误,但是还是最后解决掉了。\(^o^)/唯一美中不足的是启动不显示进程号。


首先先贴几个报错的解决办法。

这是源码包的mysql安装的报错日志:

130828 18:16:13  InnoDB: Started; log sequence number 0 44233
130828 18:16:13 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

130828 18:16:13 mysqld_safe mysqld from pid file /var/lib/mysql5/work210.pid ended

~\(≧▽≦)/~

这是在终端显示的报错:

Starting MySQL
. * Manager of pid-file quit without updating file.


这是解决办法,之前的配置缺少配置选项

mysql_install_db   --usr=/mysql  --basedir=/usr/local/mysql5 --datadir=/var/lib/mysql5

其中mysql是系统的用户,没有可以useradd mysql  ,    mysql5是我安装的新的mysql的目录,可以根据个人的安装目录。mysql_install_db在你的源码包安装的目录/usr/local/mysql5/share/mysql.



 Q_Q(ㄒoㄒ)//o(-"-)o)


配置的时候报错:configure: error: No curses/termcap library found,

是缺少libncurses造成的,于是果断apt之:apt-get install libncurses5-dev,网上还有个方法是通过安装g++搞定的,没试过,在这里仅供记录。(摘抄)

 



下面把操作过程罗列一下:

1.安装数据库:

tar -zxvf mysql-5.1.66.tar.gz

cd mysql-5.1.66

mkdir /usr/local/mysql5

./configure --prefix=/usr/local/mysql5 --with-comment=Source --with-mysqld-user=mysql --without-debug --without-bench --enable-thread-safe-client --enable-assembler --enable-profiling --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=utf8 --with-plugin-innobase --without-embedded-server --with-server-suffix=-ubuntu --enable-local-infile --with-unix-socket-path=/tmp/mysql5.sock --localstatedir=/var/lib/mysql5

#(若出现configure: error: No curses/termcap library found,执行:apt-get install libncurses5-dev)

make && make install

 

2.初始化数据库并授权:

#(ll /var/lib/mysql5 看看有没有产生这个目录,没有就新建一个mkdir /var/lib/mysql5)

/usr/local/mysql5/bin/mysql_install_db

cd /usr/local/mysql5

chown -R mysql:mysql .

chown -R mysql:mysql /var/lib/mysql5

chgrp -R mysql .

 

3.复制配置文件,并添加自启动脚本:

cp share/mysql/my-small.cnf /etc/mysql5/my5.cnf

cp share/mysql/mysql.server /etc/init.d/mysql5

chmod 755 /etc/init.d/mysql5

 

4.搜索并修改启动脚本/etc/init.d/mysql5:

1)datadir=/var/lib/mysql5

2)conf=/etc/mysql5/my5.cnf

3)把$bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &替换为:

$bindir/mysqld_safe --defaults-file=/etc/mysql5/my5.cnf --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &

* 4)如果不能正常启动则把下面这句注释掉(前面加个#):

parse_server_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server`

 

5.保存退出并添加服务:

chkconfig --add mysql5

 

6.修改配置文件/etc/mysql5/my5.cnf([client] 和 [mysqld]里的都要改):

#改成自己指定的端口

port = 3307

#更改socket

socket = /tmp/mysql5.sock

#出问题的话,添加个datadir

datadir = /var/lib/mysql5

 

7.重启服务:

service mysql5 start

 

8.检查是否启动成功:

ps axf | grep mysql


这是显示的信息:

-file=/etc/mysql5/my5.cnf --datadir=/var/lib/mysql5 --pid-file=/var/lib/mysql5/work210.pid
 8040 ?        Sl     0:01  \_ /usr/local/mysql5/libexec/mysqld --defaults-file=/etc/mysql5/my5.cnf --basedir=/usr/local/mysql5 --datadir=/var/lib/mysql5 --user=mysql --log-error=/var/lib/mysql5/work210.err --pid-file=/var/lib/mysql5/work210.pid --socket=/tmp/mysql5.sock --port=3307

都指向mysql5而不是mysql的话就应该是对了

 

9.修改密码:

mysqladmin -uroot password '你的密码'

 

10.测试登陆(要指定socket,否则会使用默认的第一个mysql的数据库):

mysql -uroot -p你的密码 --socket=/tmp/mysql5.sock

原创粉丝点击