ubuntu mysql-5.6.20.tar.gz源码安装

export SRCDIR="/home/XXXXX" #自己定义
export INSTALLDIR="/usr/local/bin"#自己定义
cd $SRCDIR
apt-get install -y g++ gcc make libpcre3 zlib1g libbz2-dev automake cmake perl libncurses5-dev bison #安装依赖

http://dev.mysql.com/downloads/mysql/ 下载源码

下载时注意别选成其他的linux安装包,不然编译肯定报错。选择平台的下拉列表里选择 Source Code,Select Platform: Source Code ,下载 Generic Linux (Architecture Independent), Compressed TAR Archive


#创建mysql用户及用户组
groupadd mysql
useradd -g mysql mysql
#创建mysql的安装目录以及数据库数据存放目录
mkdir -p $INSTALLDIR/mysql
mkdir -p $INSTALLDIR/mysql/data


#安装mysql
tar -zxvf mysql-5.6.12.tar.gz
cd mysql-5.6.12

 cmake ./

 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql          \    #安装路径

 -DMYSQL_DATADIR=/usr/local/mysql/data            \    #数据文件存放位置

 -DSYSCONFDIR=/etc                                \    #my.cnf路径

 -DWITH_MYISAM_STORAGE_ENGINE=1                   \    #支持MyIASM引擎

 -DWITH_INNOBASE_STORAGE_ENGINE=1                 \    #支持InnoDB引擎

 -DWITH_MEMORY_STORAGE_ENGINE=1                   \    #支持Memory引擎

 -DWITH_READLINE=1                                \    #快捷键功能(我没用过)

 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock               \    #连接数据库socket路径

-DMYSQL_TCP_PORT=3306                            \    #端口

 -DENABLED_LOCAL_INFILE=1                         \    #允许从本地导入数据

 -DWITH_PARTITION_STORAGE_ENGINE=1                \    #安装支持数据库分区

 -DEXTRA_CHARSETS=all                             \    #安装所有的字符集

 -DDEFAULT_CHARSET=utf8                           \    #默认字符

 -DDEFAULT_COLLATION=utf8_general_ci


make
make install

编译的参数可以参考http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html


#设置目录权限
cd $INSTALLDIR/mysql
chown -R root:mysql . #把当前目录中所有文件的所有者所有者设为root,所属组为mysql
chown -R mysql:mysql data


#将配置拷贝到全局目录下
cp support-files/my-default.cnf /etc/my.cnf


#创建系统数据库的表
#scripts/mysql_install_db --user=mysql
scripts/mysql_install_db --user=mysql --basedir=$INSTALLDIR/mysql --datadir=$INSTALLDIR/mysql/data

#设置环境变量
cat > /root/export.sh << EOF
export PATH=$PATH:$INSTALLDIR/mysql/bin:$INSTALLDIR/mysql/lib
EOF
echo 'source /root/export.sh' >> /root/.bashrc
source /root/export.sh

#将mysql的启动服务添加到系统服务中

cp /usr/local/bin/mysql/support-files/mysql.server /etc/init.d/mysql/etc/init.d/mysql start

#修改MySQL的root用户的密码以及打开远程连接
mysql -u root mysql
use mysql;
desc user;
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
update user set Password = password(‘your mysql password’) where User='root';
select Host,User,Password from user where User='root';
flush privileges;
exit
/etc/init.d/mysql stop

cmake编译参数说明:

-DCMAKE_INSTALL_PREFIX //安装目录
-DINSTALL_DATADIR //数据库存放目录
-DDEFAULT_CHARSET=utf8  //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci//校验字符
-DEXTRA_CHARSETS=all   //安装所有扩展字符集
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据


注意事项:
重新编译时,需要清除旧的对象文件和缓存信息。
#make clean
# rm-f CMakeCache.txt
# rm-rf /etc/my.cnf

相关推荐