在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)的权限来移动系统之间的安装或可移动存储。
要求
- 从MySQL站点下载MySQL 5.5.19源代码( mysql-5.5.19.tar.gz )
- 以前安装的CentOS 6.x / Ubuntu 11.10 Oneiric Ocelot
脚步
- 定义一些环境变量,使安装顺利进行:
$ TARGET=$HOME/mysql
$ BASEDIR=$TARGET/usr/local/mysql
$ DATADIR=$TARGET/usr/local/mysql/data
$ PORT=9797
$ VERSION=5.5.19 - 安装
cmake
,ncurses
和bison
:- 在CentOS上:
$ sudo yum install cmake ncurses-devel bison
- 在Ubuntu上
$ sudo apt-get install cmake libncurses5-dev bison
- 在CentOS上:
-
打包
和make( 注意:mysql-5.5.19.tar.gz
已经下载到/ tmp中
):$ pushd /tmp
$ tar zxvf mysql-${VERSION}.tar.gz
$ cd mysql-${VERSION}
$ cmake .
$ make - 安装到目标目录中:
$ mkdir -p $TARGET
$ make install DESTDIR="$TARGET" - 创建系统数据库:
$ 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