有时候需要源代码安装mysql,网上教程层次不齐。以下是亲测可用。
下载mysql
在官网下载的时候需要登录,比较麻烦,我是去http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.5/
找到http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.5/mysql-5.5.55.tar.gz
安装编译源码需要的包
sudo apt-get install make cmake gcc g++ bison libncurses5-dev
解压安装
tar -zxvf mysql-5.5.55.tar.gz
cd mysql-5.5.55
cmake源码(如有文件夹目录不存在,先创建)(各参数请参考附录1)
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DINSTALL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysqld.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
然后make
sudo make
sudo make install
/usr/local/mysql/bin/mysqld
初始化数据库
/usr/local/mysql/bin/scripts/mysql_install_db --user=mysql
/usr/local/mysql/bin/mysqladmin -u root password 'ciika'
附录1:
CMAKE_INSTALL_PREFIX:指定MySQL程序的安装目录,默认/usr/local/mysql
DEFAULT_CHARSET:指定服务器默认字符集,默认latin1
DEFAULT_COLLATION:指定服务器默认的校对规则,默认latin1_general_ci
ENABLED_LOCAL_INFILE:指定是否允许本地执行LOAD DATA INFILE,默认OFF
WITH_COMMENT:指定编译备注信息
WITH_xxx_STORAGE_ENGINE:指定静态编译到mysql的存储引擎,MyISAM,MERGE,MEMBER以及CSV四种引擎默认即被编译至服务器,不需要特别指定。
WITHOUT_xxx_STORAGE_ENGINE:指定不编译的存储引擎
SYSCONFDIR:初始化参数文件目录
MYSQL_DATADIR:数据文件目录
MYSQL_TCP_PORT:服务端口号,默认3306
MYSQL_UNIX_ADDR:socket文件路径,默认/tmp/mysql.sock