在CentOS 6和Ubuntu 11.10上创建可移植的MySQL

在CentOS 6和Ubuntu 11.10 Linux源码上创建便携式MySQL

本教程将介绍如何在GNU / Linux上创建便携式MySQL安装。 适用于:

  • MySQL 5.5.19
  • CentOS 6.x / Ubuntu 11.10 Oneiric Ocelot

在本指南的最后,您将通过其自己的数据库,二进制文件,日志,pid文件等获取目标目录上的便携式MySQL安装。请始终使用保留包装(如TAR)的权限来移动系统之间的安装或可移动存储。

要求

脚步

  1. 定义一些环境变量,使安装顺利进行:
    $ TARGET=$HOME/mysql
    $ BASEDIR=$TARGET/usr/local/mysql
    $ DATADIR=$TARGET/usr/local/mysql/data
    $ PORT=9797
    $ VERSION=5.5.19
  2. 安装cmakencursesbison
    • 在CentOS上:
      $ sudo yum install cmake ncurses-devel bison
    • 在Ubuntu上
    • $ sudo apt-get install cmake libncurses5-dev bison
  3. 打包和make( 注意: mysql-5.5.19.tar.gz已经下载到/ tmp中 ):
    $ pushd /tmp
    $ tar zxvf mysql-${VERSION}.tar.gz
    $ cd mysql-${VERSION}
    $ cmake .
    $ make
  4. 安装到目标目录中:
    $ mkdir -p $TARGET
    $ make install DESTDIR="$TARGET"
  5. 创建系统数据库:
    $ pushd $BASEDIR
    $ scripts/mysql_install_db --user=$USER \
    --basedir=$BASEDIR \
    --datadir=$DATADIR \
    --ldata=$DATADIR
    $ mkdir -p $TARGET/var/run/mysql
    $ mkdir -p $TARGET/var/log/mysql
    $ popd
    $ popd

后安装步骤

  • 运行便携式MySQL( 注意: bind-address被设置为0.0.0.0 ,这意味着在所有网络接口上监听 ,只能将其更改为127.0.0.1 ,仅用于本地连接或特定网络接口地址,如192.168.122.45 ):
    $ $BASEDIR/bin/mysqld_safe --user=$USER \
    --basedir=$BASEDIR \
    --datadir=$DATADIR \
    --pid-file=$TARGET/var/run/mysql/mysql.pid \
    --skip-syslog \
    --log-error=$TARGET/var/log/mysql/mysql.err \
    --port=$PORT \
    --socket=$TARGET/var/run/mysqld/mysqld.sock \
    --ledir=$BASEDIR/bin \
    --mysqld=mysqld \
    --bind-address=0.0.0.0
  • 连接本地(通过套接字)到便携式MySQL:
    $ $BASEDIR/bin/mysql -u root --socket=$TARGET/var/run/mysqld/mysqld.sock
  • 创建示例数据库并向用户授予所有权限:
    $ $BASEDIR/bin/mysql -u root --socket=$TARGET/var/run/mysqld/mysqld.sock <<EOT
    create database alfresco;
    grant all privileges on alfresco.* to alfresco@'%' identified by 'alfresco';
    EOT
  • 远程连接到创建的数据库( 注意 :在远程连接之前验证服务器上的防火墙设置):
    $ mysql -u alfresco -h SERVER --port=9797 -p alfresco
  • 更改root密码:
    $ $BASEDIR/bin/mysqladmin -u root password 'root' --socket=$TARGET/var/run/mysqld/mysqld.sock
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏