Linux/Ubuntu下CMake编译MySQL教程
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-04 11:24:15 浏览: 评论:0
使用Linux+Vim写PHP简直是一种享受,下面是我的Vim配置和安装的插件.
1.下载MySQL 5.5.28源码包
下载地址:http://www.mysql.com/downloads/mysql/#downloads
在MySQL下载页面的下拉框选择“Source Code”,然后选择最下面的tar.gz格式,开始下载。wget开始可以使用:http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.28.tar.gz这个地址。
2.添加MySQL用户和组,代码如下:
sudo groupadd mysql
sudo useradd -r -g mysql mysql
3.安装一些需要的软件,代码如下:
sudo apt-get install cmake automake autoconf libtool gcc g++ bison
如果只安装上面的扩展,编译过程总会出现这样的错误:-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH) CMake Error at cmake/readline.cmake:83 (MESSAGE):Curses library not found. Please install appropriate package, remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev,on Redhat and derivates it is ncurses-devel.,则需要多安装libncurses5-dev包.
提示,为了保证速度,请更新Ubuntu源为最快的源:Ubuntu更新源推荐.
4.CMake编译MySQL,代码如下:
- #创建目录
- sudo mkdir /data/mysql/
- #开始编译(注意下面的命令是一句,实际情况是没有换行的,这里为了方便添加注释)
- sudo cmake
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql #安装路径
- -DMYSQL_DATADIR=/data/mysql/ #数据文件存放位置
- -DSYSCONFDIR=/etc #my.cnf路径
- -DWITH_MYISAM_STORAGE_ENGINE=1 #支持MyIASM引擎
- -DWITH_INNOBASE_STORAGE_ENGINE=1 #支持InnoDB引擎
- -DWITH_MEMORY_STORAGE_ENGINE=1 #支持InnoDB引擎
- -DWITH_READLINE=1 #快捷键功能(我没用过)
- -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock #连接数据库socket路径
- -DMYSQL_TCP_PORT=3306 #端口
- -DENABLED_LOCAL_INFILE=1 #允许从本地导入数据
- -DWITH_PARTITION_STORAGE_ENGINE=1 #安装支持数据库分区
- -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk #安装需要的字符集
- -DDEFAULT_CHARSET=utf8 #默认字符
- -DDEFAULT_COLLATION=utf8_general_ci #默认字符集
- #make安装
- sudo make && make install
5.配置MySQL
这一步中需要注意的是my.cnf的加载顺序,Linux优先级从高到低/etc/my.cnf->/etc/mysql/my.cnf->SYSCONFDIR/my.cnf->$MYSQL_HOME/my.cnf,高优先级的my.cnf设置会覆盖低优先级的my.cnf,所以一般把config文件copy到etc中即可,代码如下:
- #如果/etc下没有my.cnf
- sudo cp support-files/my-medium.cnf /etc/my.cnf
- #设置权限
- sudo chmod +x /usr/local/mysql
- sudo chown -R mysql.mysql /usr/local/mysql
- #配置开机自启动
- sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
- sudo chmod +x /etc/init.d/mysql
- sudo chkconfig –list
- sudo update-rc.d mysql defaults `/sbin/chkconfig –add mysql; /sbin/chkconfig mysql on`
- sudo chkconfig –list mysql
- #修改my.cnf配置
- vim /etc/my.cnf
- #[mysqld] 添加:
- datadir=/data/mysql
- default-storage-engine=MyISAM
- #以下可选:
- log-error = /data/mysql/error.log
- pid-file = /home/mysql/mysql.pid
- user = mysql
- tmpdir = /tmp
- #安装默认数据表
- /usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql –datadir=/da/mysql –user=mysql
- #启动MySQL
- /usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf &
- #或者
- /etc/init.d/mysql start (service mysql start)
- --phpfensi.com
- #测试MySQL是否启动
- # 1)查看是否有进程mysql
- ps -ef | grep mysql
- # 2)查看端口是否运行
- netstat -tnl | grep 3306
- # 3)读取mysql版本信息
- mysqladmin version
- ##安装成功,Thanks God!
到此MySQL编译完成,如果这个时候MySQL无法启动,那么多问题基本上都处在my.cnf的位置和设置上,最后进入MySQL修改root用户的密码,当前密码为空:
UPDATE user SET password=PASSWORD("new password") WHERE user='root';
FLUSH PRIVILEGES;
Tags: Ubuntu编译MySQL CMake编译
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)