Ubuntu 14.04下源码安装MySQL 5.5.35
来说说Ubuntu14.04源码安装吧。mysql5.X系列的源码安装有了一些小变化,编译源码的时候不再使用configure,换成了cmake。后面按照步骤说吧。
1、准备工作。
1.1 安装cmake
apt-get install cmake
1.2 安装libncurses5-dev
apt-get install libncurses5-dev
1.3 安装bison
apt-get install bison
1.4 安装g++
apt-get install g++
1.5 下载mysql5.5.35源码包
网址:http://dev.mysql.com/downloads/mysql/5.5.html#downloads
这里要说一下,有些朋友说下载的tar包不能用是怎么回事,其实是源码包下错了,看下图,在select platform中一定要选中Source Code,再选下面的tar包下载才可以。
2、安装
2.1 解压mysql源码包。我是把源码包下载到/home/用户名/download/ 下面,解压也是解压到相同目录下。
tar zxvf mysql-5.5.35.tar.gz
如果要解压到指定目录,在后面要加上 “-C 路径”。
2.2 cmake源码
cmake . \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DINSTALL_DATADIR=/usr/local/mysql/data \-DMYS
QL_UNIX_ADDR=/usr/local/mysql/mysqld.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_gene
ral_ci \-DEXTRA_CHARSETS=all \-DENABLED_LOCAL_INFILE=1
(这里排版有点问题,凑合看哈)
我把安装路径放在了/usr/local/mysql,也就是默认的路径,data放在/usr/local/mysql/data/下,sock文件放到/usr/local/mysql/mysqld.sock
一些参数如下:根据需要选择吧。
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
2.3 make&make install
如果cmake报错请检查目录权限,mysql组和用户,一般我都是提前建立好mysql用户组。如果不报错就可以做这一步了。
make
make install
3、配置
3.1 安装完成后进入安装目录,将配置文件放到/etc下面
cp surpport-files/my-medium.cnf /etc/my.cnf
3.2 初始化数据库
scripts/mysql_install_db --user=mysql
执行成功后会看到下图
然后我们执行下面的命令
cp surpport-files/mysql.server /rtc/init.d/mysql
chmod 755 /etc/init.d/mysql
3.3 我们启动mysql服务试一试
/etc/init.d/mysql start
3.4 启动成功后创建root用户密码(路径是安装目录下的bin)
bin/mysqladmin -u root password '*******'
3.5 上一步成功后我们赶快使用一下吧
bin/mysql -uroot -p
Ubuntu14.04下安装mysql5.5.35大体过程就是上面这样了。安装时也遇到不少问题,仔细看错误提示,多查资料,多分析,其实问题都很简单。
好吧,到此结束了,谢谢大家。
PS:可以把bin目录下的命令加到PATH中去,这样就不用每次都进入目录来启动mysql了,其他一些技巧以后有机会在整理下吧,再见。