Ubuntu 11.10编译安装mysql-5.5.17

作者:我就是个世界 发表于:2011-11-12
Ubuntu 11.10软件中心默认安装的MySQL始终不成功,而且其版本比较低5.1的版本,目前MySQL的版本是5.5.17,然后想卸载,居然卸载不完全,后来才找到卸载的方法:

删除 mysql
[code]
sudo apt-get autoremove --purge mysql-server-5.1
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common (非常重要)
[/code]
上面的其实有一些是多余的,建议还是按照顺序执行一遍[separator]

清理残留数据
[code]dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P[/code]

上边的操作来自http://www.blogjava.net/yjhmily/articles/336926.html这个站点

清理工作完成之后,下边开始安装:
我参考的地址列表
http://dev.mysql.com/doc/refman/5.5/en/binary-installation.html
http://forum.ubuntu.org.cn/viewtopic.php?t=301214
http://www.cnblogs.com/wuhou/archive/2008/09/28/1301071.html
http://blog.csdn.net/westmaniac/article/details/6535000

[b]下边的是我的操作:[color=#0000FF]
========================================
Ubuntu 11.10手工编译安装mysql-5.5.17源码包
========================================[/color][/b]

需要安装的编译器,一般系统已经自带有了。没有安装的看文章最后。
sudo apt-get install g++
sudo apt-cache search curses | grep lib
sudo apt-get install libncurses5-dev

[color=#FF0000]我的安装目录是[b]/usr/local/webserver/mysql[/b] 而不是默认的[b]/usr/local/mysql[/b][/color]

1. 安装cmake
下载地址:http://www.cmake.org/
[code]
wget http://www.cmake.org/files/v2.8/cmake-2.8.6.tar.gz
tar zxvf cmake-2.8.6.tar.gz
cd cmake-2.8.6
./configure
make
make install
[/code]

2. 开始安装MySQL,下载地址:http://dev.mysql.com/ 或从其它镜像下载

准备工作
#添加 mysql 用户组
[code]groupadd mysql[/code]
#添加 mysql 用户
[code]useradd -r -g mysql mysql[/code]
#解压缩源文件
[code]tar zxvf mysql-5.5.17.tar.gz[/code]
#进入文件夹
[code]cd mysql-5.5.17[/code]
#配置编译参数,开始编译
[code]/usr/local/bin/cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/ -DMYSQL_DATADIR=/usr/local/webserver/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/usr/local/webserver/mysql/data/mysql.sock -DMYSQL_USER=mysql -DWITH_DEBUG=0[/code]
#编译安装
[code]make && make install[/code]
#设置目录权限属性
[code]
chmod +w /usr/local/webserver/mysql
chown -R mysql:mysql /usr/local/webserver/mysql
[/code]
#将 mysql 配置文件复制到系统的配置文件夹中
[code]
cp support-files/my-small.cnf /etc/my.cnf
chown mysql:mysql /etc/my.cnf
[/code]

在sudo gedit /etc/my.cnf  打开下面的InnoDB配置以减少内存即可:
[code]
default-storage-engine=MyISAM
server-id       = 1
innodb_buffer_pool_size = 21M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
[/code]


#数据库初始化
[code]/usr/local/webserver/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/webserver/mysql --datadir=/usr/local/webserver/mysql/data[/code]

#执行完全安装脚本,(注:建议在生产中使用的服务器中对所有MySQL运行该脚本的所有部分!请仔细阅读每一步!)
[code]/usr/local/webserver/mysql/bin/mysql_secure_installation[/code]
[quote]
1).设置root密码,密码默认是空的, [Y / N] Y 输入两遍新密码,如果之前有设置过密码,这里会提示你是否修改。
2).默认情况下,MySQL安装有一个匿名用户,允许任何人且无需创建一个用户帐户即可登录到MySQL。这样做的目的仅用于测试,并且使得安装顺畅一点。在您部署到生产环境之前,您应该将它移除。

删除匿名用户? [Y / N] Y

3).通常情况下,root应该只被允许从'localhost'的连接。这确保别人无法从网络上猜测root的密码。

不允许root远程登录? [Y / N] Y

4).默认情况下,MySQL带有一个名为“test”的数据库,任何人都可以访问该数据库。这也是仅用于测试,在部署到生产环境之前应予以删除。

删除测试数据库和访问它呢? [Y / N] Y

5).重新加载权限表以确保之前所有的修改立即生效。

重载权限表呢? [Y / N] Y
[/quote]
此时,你已经可以使用MYSQL Administrator管理工具连接数据库了。

3. 配置 ------------以下是可选项-----------------
#开机自启动
[code] cp /usr/local/webserver/mysql/support-files/mysql.server /etc/init.d/mysql.server[/code]

修改密码的方法:
[code]
    /usr/local/webserver/mysql/bin/mysqladmin -u root password '123456'
    /usr/local/webserver/mysql/bin/mysqladmin -u root -h husw password '123456'
[/code]
启动mysql:带--user=mysql
[code]/usr/local/webserver/mysql/bin/mysqld_safe --user=mysql &[/code]
#启动mysql,看是否成功
[code]netstat -tnl|grep 3306[/code]

上面是一种启动mysql的方法,还有一种简单的方便,如下:

[code]
    #将mysql的启动服务添加到系统服务中  
    cp support-files/mysql.server /etc/init.d/mysql.server  
    #现在可以使用下面的命令启动mysql  
    service mysql.server start  
    #停止mysql服务  
    service mysql.server stop  
    #重启mysql服务  
    service mysql.server restart  
[/code]

将mysql服务添加到开机启动项,让mysql服务开机启动
[code]chkconfig --add mysql.server [/code]
    
重启机器后,mysql服务就会自动启动了。


================================================
下面是可能会用到的编译库,我好像只装了个cmake就OK了
================================================

1.安装make编译器
[code]
wget http://ftp.gnu.org/gnu/make/make-3.82.tar.gz
tar zxvf make-3.82.tar.gz  
cd make-3.82  
./configure  
make  
make install
[/code]

2.安装bison
[code]
wget http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz
tar zxvf bison-2.5.tar.gz
cd bison-2.5
./configure
make
make install
[/code]

3.安装gcc-c++
下载地址:http://www.gnu.org/software/gcc/
[code]
wget ftp://ftp.dti.ad.jp/pub/lang/gcc/releases/gcc-4.6.2/gcc-g++-4.6.2.tar.gz
tar zxvf gcc-g++-4.6.2.tar.gz
cd gcc-4.6.2
cd libstdc++-v3
./configure
make
make install
[/code]

4.安装cmake
下载地址:http://www.cmake.org/
[code]
wget http://www.cmake.org/files/v2.8/cmake-2.8.6.tar.gz
tar zxvf cmake-2.8.6.tar.gz
cd cmake-2.8.6
./configure
make
make install
[/code]

5.安装ncurses
下载地址:http://www.gnu.org/software/ncurses/
[code]
wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz
tar zxvf ncurses-5.9.tar.gz
cd ncurses-5.9
./configure
make
make install
[/code]

分享:

扫一扫在手机阅读、分享本文

请发表您的评论