标签:
cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/opt/data/mysql \
-DMYSQL_TCP_PORT=3306 \
源码安装mysql5.6,OS(Ubuntu 14.04Lts)
到mysql官网下载源码包 例如:mysql-5.6.16.tar.gz
解压缩 tar -xvf mysql-5.6.16.tar.gz
必要环境准备
安装cmake
sudo apt-get install cmake
最好是最新的,如果软件中心中不是最新的,可以到cmake的官方下载源码包进行编译安装
安装g++编译器 sudo apt-get install g++
安装依赖库libncurses sudo apt-get install libncurses5-dev
建立两个目录,分别是mysql的家目录(basedir)和mysql的数据目录(mysqldata)
例:sudo mkdir /opt/mysql_5.6 sudo mkdir /opt/mysqldata
进到刚解压的mysql的源码的目录,利用cmake进行编译环境的配置
带参数如下:
sudo cmake .
-DCMAKE_INSTALL_PREFIX=/opt/mysql_5.6 (指定安装到的目录)
-DMYSQL_DATADIR=/opt/mysqldata (指定数据目录)
-DDEFAULT_CHARSET=utf8 (指定DB的字符集)
-DDEFAULT_COLLATION=utf8_general_ci (解决中文乱码的关键语句)
-DEXTRA_CHARSETS=all
-DENABLED_LOCAL_INFILE=1
这一步仅仅是为一下编译做好配置,并不是真正的安装,只是在当前目录生成makefile
sudo make sudo make install (这两部才是真正的编译安装)
以上步骤完成,mysql已经安装完成,但是还没进行初始化
到mysql安装的basedir,执行 sudo scripts/mysql_install_db --user=root
执行数据库的初始化操作,生成自带的一些DB(例如test,mysql等),后面的参数是指定用户
生成mysql的配置文件
sudo cp support-files/my-default.cnf /etc/my.cnf
之后要在里面mysqld指定相应的参数,例如:
basedir = /opt/mysql_5.6
datadir = /opt/mysqldata
port = 3306
.........等,上面这些是最起码的
最后就能启动数据库了,因为还没指定密码,所以第一次不用输入密码,一下是以安全模式启动数据库
sudo bin/mysqld_safe --user=root
为root用户设定密码,以安全模式进到数据库
use mysql;
UPDATE user SET password=PASSWORD('123456') WHERE user='root';
FLUSH PRIVILEGES;
或者,直接在bin目录下启用脚本:mysqladmin -u root -p password PASSWORD
注册mysql为Ubuntu的系统服务
sudo cp $MYSQL_HOME/support-files/mysql.server /etc/init.d/mysql.server
sudo chmod +x /etc/init.d/mysql.server
让mysql开机启动
sudo update-rc.d -f mysql.server defaults
取消开机启动 sudo update-rc.d -f mysql.server remove
启动mysql:service mysql.server start;
停止mysql:service mysql.server stop;
查看mysql运行状态:service mysql.server status。
将mysql的启动脚本添加到PATH环境变量中,
sudo gedit /etc/environment
在环境变量的后面添加 :/opt/mysql_5.6/bin
即你mysql的basedir里面的bin目录
source /etc/environment (让其马上生效)
标签:
原文地址:http://www.cnblogs.com/weibingkitty/p/4446701.html