免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1779 | 回复: 0
打印 上一主题 下一主题

MySQL5.0-Source Installation Overview [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-24 18:33 |只看该作者 |倒序浏览
Source Installation Overview
Source Installation Overview
The basic commands you must execute to install a MySQL source distribution are:
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> gunzip VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> cd /usr/local/mysql
shell> bin/mysql_install_db --user=mysql
shell> chown -R root  .
shell> chown -R mysql var
shell> chgrp -R mysql .
shell> bin/mysqld_safe --user=mysql &
If you start from a source RPM, do the following:
shell> rpmbuild --rebuild --clean MySQL-VERSION.src.rpm
This makes a binary RPM that you can install. For older versions of RPM, you may have to replace the command rpmbuild with rpm instead.
Note: This procedure does not set up any passwords for MySQL accounts. After following the procedure, proceed to
Section 2.9, “Post-Installation Setup and Testing”
, for post-installation setup and testing.
A more detailed version of the preceding description for installing MySQL from a source distribution follows:

  • Add a login user and group for mysqld to run as:
    shell> groupadd mysql
    shell> useradd -g mysql mysql
    These commands add the mysql group and the mysql user. The syntax for useradd and groupadd may differ slightly on different versions of Unix. They may also be called adduser and addgroup.
    You might want to call the user and group something else instead of mysql. If so, substitute the appropriate name in the following steps.

  • Pick the directory under which you want to unpack the distribution, and change location into it.

  • Obtain a distribution file from one of the sites listed in
    Section 2.1.3, “How to Get MySQL”
    .

  • Unpack the distribution into the current directory:
    shell> gunzip /path/to/mysql-VERSION.tar.gz | tar xvf -
    This command creates a directory named mysql-VERSION.
    With GNU tar, no separate invocation of gunzip is necessary. You can use the following alternative command to uncompress and extract the distribution:
    shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz

  • Change location into the top-level directory of the unpacked distribution:
    shell> cd mysql-VERSION
    Note that currently you must configure and build MySQL from this top-level directory. You cannot build it in a different directory.

  • Configure the release and compile everything:
    shell> ./configure --prefix=/usr/local/mysql
    shell> make
    When you run configure, you might want to specify some options. Run ./configure --help for a list of options.
    Section 2.8.2, “Typical configure Options”
    , discusses some of the more useful options.
    If configure fails and you are going to send mail to a MySQL mailing list to ask for assistance, please include any lines from config.log that you think can help solve the problem. Also include the last couple of lines of output from configure. Post the bug report using the mysqlbug script. See
    Section 1.7.1.3, “How to Report Bugs or Problems”
    .
    If the compile fails, see
    Section 2.8.4, “Dealing with Problems Compiling MySQL”
    for help.

  • Install the distribution:
    shell> make install
    If you want to set up an option file, use one of those present in the support-files directory as a template. For example:
    shell> cp support-files/my-medium.cnf /etc/my.cnf
    You might need to run these commands as root.
    If you want to configure support for InnoDB tables, you should edit the /etc/my.cnf file, remove the # character before the option lines that start with innodb_..., and modify the option values to be what you want. See
    Section 4.3.2, “Using Option Files”
    and
    Section 14.2.3, “InnoDB Configuration”
    .

  • Change location into the installation directory:
    shell> cd /usr/local/mysql

  • If you haven't installed MySQL before, you must create the MySQL grant tables:
    shell> bin/mysql_install_db --user=mysql
    If you run the command as root, you should use the --user option as shown. The value of the option should be the name of the login account that you created in the first step to use for running the server. If you run the command while logged in as that user, you can omit the --user option.
    Note that you must restart the server manually after using mysql_install_db to create the grant tables for MySQL.

  • Change the ownership of program binaries to root and ownership of the data directory to the user that you run mysqld as. Assuming that you are located in the installation directory (/usr/local/mysql), the commands look like this:
    shell> chown -R root  .
    shell> chown -R mysql var
    shell> chgrp -R mysql .
    The first command changes the owner attribute of the files to the root user. The second changes the owner attribute of the data directory to the mysql user. The third changes the group attribute to the mysql group.

  • If you would like MySQL to start automatically when you boot your machine, you can copy support-files/mysql.server to the location where your system has its startup files. More information can be found in the support-files/mysql.server script itself; see also
    Section 2.9.2.2, “Starting and Stopping MySQL Automatically”
    .

  • You can set up new accounts using the bin/mysql_setpermission script if you install the DBI and DBD::mysql Perl modules. For instructions, see
    Section 2.13, “Perl Installation Notes”
    .
    After everything has been installed, you should initialize and test your distribution using this command:
    shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
    If that command fails immediately and prints mysqld ended, you can find some information in the host_name.err file in the data directory.
    More information about mysqld_safe is given in
    Section 5.1.3, “mysqld_safe — MySQL Server Startup Script”
    .
    Note: The accounts that are listed in the MySQL grant tables initially have no passwords. After starting the server, you should set up passwords for them using the instructions in
    Section 2.9, “Post-Installation Setup and Testing”
    .
    Previous
    /
    Next
    /
    Up
    /
    Table of Contents
    User CommentsPosted by Matt Juszczak on June 8 2002 1:13pm[
    Delete
    ] [
    Edit
    ]If you forget to do --prefix=/usr/local/mysql
    during configure, your distribution will install
    into /usr/local. Rerunning configure with the --
    prefix=/usr/local/mysql seemed to make the
    installation go into /usr/local/mysql, but the
    script "mysql_install_db", etc...seemed to
    require the --basedir argument, and SQL wouldn't
    start. So if you forget to do --
    prefix=/usr/local/mysql, clear out all configure
    logs/caches before rerunning ./configure.
    Posted by Matt Gregory on March 13 2003 7:36am[
    Delete
    ] [
    Edit
    ]Before following Mr. Juszczak's suggestion above I suggest that you do the following...
    If you realize that you did not add the --prefix argument, then you may simply continue without changing anything. /usr/local is a perfectly acceptable place to install mysql. If you would rather do things *exactly* by the book, then before you go back and reconfigure as he suggests, do the following (make sure you are in the mysql src directory and logged in as root (or using sudo) first):
    make uninstall
    make distclean
    The command uninstall directive tells make to go and remove all the files and directories created with the install directive. This will (hopefully) clean up mysql from /usr/local.
    The distclean directive tells make to not only delete all the compiled files but to also remove any config.cache, config.log or config.status information. Basically return the sourcetree to it's state just after untaring it.
    Good, luck, have fun, and when all else fails stop by #linuxhelp on your favorite IRC network (I recommend EFnet and Undernet).
    Posted by [name withheld] on December 6 2003 12:25am[
    Delete
    ] [
    Edit
    ]> If you realize that you did not add the --prefix argument,
    > then you may simply continue without changing anything.
    > /usr/local is a perfectly acceptable place to install mysql.
    Having just tried this route, I think that Mr. Juszczak is right: if you use the default configure options, there is little hope for getting a working install. The permissions will bite you again and again. See Bug #2029 for more info.
    Posted by George MacNamara on January 30 2004 9:27am[
    Delete
    ] [
    Edit
    ]With most editions of Linux and the BSDs, it is often better to use /usr or /usr/local as the prefix. That way the executables (such as mysql and mysqladmin) will be placed in /usr/bin or /usr/local/bin and will be in pre-existing paths for the users, so the command line tools are easily used.
    Without doing that, you have to edit profile files or put in links to the executables, or use full paths because they will not be in the paths normally checked.
    Just my $0.02 worth.
    GP
    Posted by Ed W on February 19 2004 1:16pm[
    Delete
    ] [
    Edit
    ]On RedHat9, I HAD to do the second part of step 7
    shell> cp support-files/my-medium.cnf /etc/my.cnf
    I recomplied and installed about 6 times, mysqld would not start until I copied the option file. After that, it worked beautifully. So much for optional ;>
    Posted by David House on February 9 2005 5:44pm[
    Delete
    ] [
    Edit
    ]When running make, if you get errors about automake-1.7 not being installed when you have automake 1.8 installed, try these commands as root:
    cd /usr/bin
    ln -s automake automake-1.7
    Add your own comment.


    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/7198/showart_63254.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP