MYSQL5FromSource
Please discuss in this thread on Ubuntu forums.
您可以在这个地址就本问题参与讨论this thread on Ubuntu forums.
在Breezy下通过测试,Dapper版本里则已经包含了Mysql5.0了,在main源里面,如果您在安装ubuntu时选择安装LAMP系统,它将被自动安装
准备工作
下载Mysql 5.0源码(不用说了吧)
wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.16.tar.gz/from/http://mysql.localhost.net.ar/ tar xzvf mysql-5.0.16.tar.gz cd mysql-5.0.16/
安装必要的包
sudo apt-get install build-essential
安装开发库
如果不太确定哪一个才是真正需要的,把这几个都安装进去
sudo apt-get install libncurses5 libncurses5-dev
不安这些包,将无法编译mysql服务器
建立用户和工作组
sudo groupadd mysql sudo useradd -g mysql mysql
优化编译n
编译的时候可以针对不同类型的CPU进行参数设置,以提高数据库系统性能,参数设置通过修改CHOST, CFLAGS, CXXFLAGS来实现,如果您不清楚自己的CPU型号,可以选用X86通用设置
attachment:IconsPage/IconWarning3.png 针对某些特殊CPU的参数设置编译没有经过测试,如果它编写成功,就没问题了.如果不行,请选用以下三种方法。
- 速龙-tbird XP (AMD)
export CHOST="i686-pc-linux-gnu" export CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -msse -mmmx -mfpmath=sse" export CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -msse -mmmx -mfpmath=sse -felide-constructors -fno-exceptions -fno-rtti" export CXX=gcc
- 奔腾 4 (英特尔)
export CHOST="i686-pc-linux-gnu" export CFLAGS="-march=pentium4 -mcpu=pentium4 -O3 -pipe -fomit-frame-pointer -msse -mmmx -mfpmath=sse" export CXXFLAGS="-march=pentium4 -mcpu=pentium4 -O3 -pipe -fomit-frame-pointer -msse -mmmx -mfpmath=sse -felide-constructors -fno-exceptions -fno-rtti" export CXX=gcc
- 普通(X86通用)
export CHOST="i686-pc-linux-gnu" export CFLAGS="-mcpu=i686 -march=i686 -O3 -pipe -fomit-frame-pointer" export CXX=gcc
如果您想进行一些调试,可以将-fomit-frame-pointer参数略去,如果不是,请将它留在那里,因为这样可以使mysql得到更快的运行速度
配置
这是一个完整的设置
请在mysql5源码所在的目录里进行配置操作
您可以根据自己的需要增加/删除一些选项,下面这个例子只是默认的安装设置
./configure \ --prefix=/usr/local/mysql \ --with-mysqld-user=mysql \ --without-debug \ --with-client-ldflags=-all-static \ --with-mysqld-ldflags=-all-static \ --disable-shared \ --localstatedir=/usr/local/mysql/data \ --with-extra-charsets=none \ --enable-assembler \ --with-unix-socket-path=/tmp/mysql.socket make sudo make install
这将把mysql安装在/usr/local/mysql目录里,数据文件将保存在/usr/local/mysql/data目录里
my.conf 配置文件
将预设的配置复制过来,如果准备构建小型数据库建议使用my-medium.cnf
sudo cp support-files/my-medium.cnf /etc/my.cnf
同样,您也可以根据自己的需求对这个配置进行个性化定制
建立GRANT表
您必须建立GRANT表,建立它的办法很简单
sudo /usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql/ --user=mysql
更改所有者
sudo chown -R root /usr/local/mysql sudo chown -R mysql /usr/local/mysql/var sudo chgrp -R mysql /usr/local/mysql
测试
启动数据库服务器
/usr/local/mysql/bin/mysqld_safe -user=mysql&
为数据库管理员试设密码(该密码仅对数据库有效,不影操作系统的密码设置)
/usr/local/mysql/bin/mysqladmin -u root password new_password
进行登录测试
/usr/local/mysql/bin/mysql
您可以在适当的地方为/usr/local/mysql/bin
建立链接,以便于在Shell下通过mysql, mysqldump, mysqladmin及其他一些命令来控制mysql的运行
让mysql随系统自动启动
sudo cp support-files/mysql.server /etc/init.d/mysql sudo chmod +x /etc/init.d/mysql sudo update-rc.d mysql defaults
重启之后您可以再检查一遍以确认您的mysql服务器能够正常运行
(应该翻译成:如果以上步骤都没问题,当您重启的时候,mysql应该可以了.)