mysql 源码编译

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)


  1. 到mysql官网下载源码包 例如:mysql-5.6.16.tar.gz

  2. 解压缩 tar -xvf mysql-5.6.16.tar.gz

  3. 必要环境准备 

    1. 安装cmake

      1. sudo apt-get install cmake

      2. 最好是最新的,如果软件中心中不是最新的,可以到cmake的官方下载源码包进行编译安装

    2. 安装g++编译器    sudo apt-get install g++

    3. 安装依赖库libncurses    sudo apt-get install libncurses5-dev

  4. 建立两个目录,分别是mysql的家目录(basedir)和mysql的数据目录(mysqldata)

    例:sudo mkdir /opt/mysql_5.6       sudo mkdir /opt/mysqldata

  5. 进到刚解压的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


  6. sudo make         sudo make install    (这两部才是真正的编译安装)


  7. 以上步骤完成,mysql已经安装完成,但是还没进行初始化

  8. 到mysql安装的basedir,执行  sudo scripts/mysql_install_db --user=root

    执行数据库的初始化操作,生成自带的一些DB(例如test,mysql等),后面的参数是指定用户

  9.  生成mysql的配置文件
    sudo cp support-files/my-default.cnf /etc/my.cnf

    之后要在里面mysqld指定相应的参数,例如:

      basedir = /opt/mysql_5.6

      datadir = /opt/mysqldata

      port = 3306

    .........等,上面这些是最起码的

  10. 最后就能启动数据库了,因为还没指定密码,所以第一次不用输入密码,一下是以安全模式启动数据库

    sudo bin/mysqld_safe --user=root

  11. 为root用户设定密码,以安全模式进到数据库

    use mysql;

    UPDATE user SET password=PASSWORD('123456') WHERE user='root';
    FLUSH PRIVILEGES;

    或者,直接在bin目录下启用脚本:mysqladmin -u root -p password PASSWORD

  12. 注册mysql为Ubuntu的系统服务

    sudo cp $MYSQL_HOME/support-files/mysql.server /etc/init.d/mysql.server

    sudo chmod +x /etc/init.d/mysql.server 

  13. 让mysql开机启动

    sudo update-rc.d -f mysql.server defaults 

    取消开机启动 sudo update-rc.d -f mysql.server remove 

  14. 修改my.cnf,指定mysql的启动用户

    修改my.cnf,在[mysqld]区块下添加“user=root”这样一行。

  15. 服务的使用

    启动mysql:service mysql.server start

    停止mysql:service mysql.server  stop

    查看mysql运行状态:service mysql.server  status

  16. 将mysql的启动脚本添加到PATH环境变量中,

    sudo gedit /etc/environment

    在环境变量的后面添加   :/opt/mysql_5.6/bin

    即你mysql的basedir里面的bin目录

    source /etc/environment  (让其马上生效)






转载于:https://www.cnblogs.com/weibingkitty/p/4446701.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值