Linux下mysql编译安装

╄→гoц情女王★ 提交于 2020-02-02 12:08:16

一.下载安装包

因为编译安装mysql需要cmake所以先编译安装cmake,这里都一起下载下来

  1. 下载cmake,网址https://cmake.org/download/
  2. 下载mysql,网址http://dev.mysql.com/downloads/mysql/ 这里要登录一下oracle用户名密码

二.编译安装cmake

解压cmake,比如tar  -zxvf  cmake-3.5.0.tar.gz ,进入主目录cd  cmake-3.5.0

这里可以看到里面一些目录和文件,这里可以用bootstrap来安装也可以用congfigure来安装,这里我们用./bootstrap  来安装,因为./configure是不添加环境变量的

这时候我们发现少了C++的依赖

安装编译所有的依赖

yum -y install gcc gcc-c++ ncurses-devel perl 

再执行./bootstrap检测编译环境,没有任何异常以后执行编译gmake && gmake install

三.cmake编译安装mysql

1.编译安装

首先先解压mysql   例如命令tar -zxvf mysql-5.6.29.tar.gz

进入主目录cd  mysql-5.6.29/

执行编译命令

cmake \  

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \  

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \  

-DDEFAULT_CHARSET=utf8 \  

-DDEFAULT_COLLATION=utf8_general_ci \  

-DWITH_INNOBASE_STORAGE_ENGINE=1 \  

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \  

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \  

-DMYSQL_DATADIR=/opt/sxt/data/mysql \  

-DMYSQL_TCP_PORT=3306 \  

-DENABLE_DOWNLOADS=1

 

注意这上面的命令里面的数据目录需要提前创建mkdir -p /opt/sxt/data/mysql

执行编译命令make (编译) && make install(安装)

安装完成以后我们可以发现mysql安装在/usr/local/mysql目录下,

2.初始化数据库

scripts/mysql_install_db  --user=root  --datadir=/opt/sxt/data/mysql

发现出了异常

这里需要修改配置文件  vim /etc/my.cnf

如果是比较老的版本这里是没有/etc/my.cnf的需要从安装位置拷贝过来

注意:

cp  /usr/local/mysql/support-files/my-default.cnf  /etc/my.cnf

将里面内容改成:

[mysqld]

port = 3306

socket = /usr/local/mysql/mysql.sock

basedir = /usr/local/mysql

datadir = /opt/sxt/data/mysql/

pid-file = /opt/sxt/data/mysql/slave1.pid

user = root

这里的mysql改成root

重新执行初始化脚本

scripts/mysql_install_db  --user=root  --datadir=/opt/sxt/data/mysql

3.    配置启动服务

cp  support-files/mysql.server  /etc/init.d/mysqld   

vim /etc/profile   

      PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH  

      export PATH  

//使配置文件立马生效

source  /etc/profile   

4.登录

mysql -uroot –p然后输入密码

不能连接的话 mysql -u root -p

5.修改mysql用户名密码

mysqladmin -u root password '123456'

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!