ubuntu 源码安装mysql
ubuntu上又装了一遍mysql,重新写一遍
?
下载mysql源码包,mysql-5.5.21.tar.gz?
?
下载时注意别选成其他的linux安装包,不然编译肯定报错。选择平台的下拉列表里选择 Source Code,Select Platform: Source Code ,下载 Generic Linux (Architecture Independent), Compressed TAR Archive
?
以下是过程
?
groupadd mysql//增加用户组
?
useradd -g mysql mysql -s /usr/sbin/nologin
?
mkdir /mysql//mysql数据目录
?
mkdir /usr/local/mysql//安装目录
?
tar -zxvf mysql-5.5.21.tar.gz
?
cd mysql-5.5.21
?
//cmake编译代码 未安装cmake 可以用以下命令 sudo apt-get install cmake,在/usr/bin里能看到cmake,或者下载cmake源码包?cmake-2.8.7.tar.gz,解压后进入解压目录运行./configure ?make && make install就搞定
?
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1
(//以上参数分别为安装目录、数据目录、字符集、扩展的字符集、MYISAM/INNODB存储、是否允许执行本地load data infile,附参数说明
CMAKE_INSTALL_PREFIX:指定MySQL程序的安装目录,默认/usr/local/mysqlDEFAULT_CHARSET:指定服务器默认字符集,默认latin1DEFAULT_COLLATION:指定服务器默认的校对规则,默认latin1_general_ciENABLED_LOCAL_INFILE:指定是否允许本地执行LOAD DATA INFILE,默认OFFWITH_COMMENT:指定编译备注信息WITH_xxx_STORAGE_ENGINE:指定静态编译到mysql的存储引擎,MyISAM,MERGE,MEMBER以及CSV四种引擎默认即被编译至服务器,不需要特别指定。WITHOUT_xxx_STORAGE_ENGINE:指定不编译的存储引擎SYSCONFDIR:初始化参数文件目录MYSQL_DATADIR:数据文件目录MYSQL_TCP_PORT:服务端口号,默认3306MYSQL_UNIX_ADDR:socket文件路径,默认/tmp/mysql.sock)
?
?
make
?
make install
?
chown -R mysql:mysql /usr/local/mysql
?
chown -R mysql:mysql /mysql
?
安装完后,复制配置文件,启动前初始化?
?
cp suport-files/xxx.cnf ?my.cnf (mysql配置文件,可以选择my-medium.cnf)
?
./script/mysql_install_db ?--defaults-file=/usr/local/mysql/my.cnf ?--user=mysql --datadir=/mysql
?
//defaults-file表示指定默认的配置文件,如果不指定,系统默认的优先级是依次使用/etc/my.cnf,/etc/mysql/my.cnf,mysql安装目录下my.cnf作为mysql的配置文件,那之前make的那些参数就白设置了。。。
?
//如果不指定 可以通过cp my.cnf /etc/my.cnf 将etc目录下得配置文件覆盖
?
启动mysql
?
方法一:
?
sudo bin/mysqld_safe --user=mysql &
?
方法二
?
cp suport-files/mysql.server /etc/init.d/mysql
?
sudo /etc/init.d/mysql start
?
?
转注明源 http://asyty.iteye.com/blog/1442503