MYSQL5FromSource

来自Ubuntu中文
Cnkanglong留言 | 贡献2007年8月13日 (一) 16:17的版本 →‎优化编译n
跳到导航跳到搜索

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/date目录里

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 --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应该可以了.)


授权许可:

创作共用协议Attribution-ShareAlike 2.0 GNU自由文档许可证

翻译人员:

校正人员:Bentusi

贡献人员:

适用版本:所有版本

文章状态:翻译完成 .