linux mysql 源码编译安装_linux 源码编译安装MySQL

源码编译安装mysql

一 准备工作 添加一块硬盘 用该硬盘创建逻辑卷

1检测新此盘

df -hT

2创建物理卷

pvcreate /dev/sd。。。

3创建卷组

vgcreate 卷组名 /dev/sd。。。

4创建逻辑卷

lvcreate -L 几G -n 逻辑卷名 卷组名

5查看一下创建的逻辑卷

lvscan

6格式化逻辑卷

mkfs.xfs /dev/卷组名/逻辑卷名

7挂在逻辑卷

vim /etc/fstab

8挂在所有

mount -a

二 安装mysql

1检测是否安装mariadb数据库

rpm -qa |grep mariadb

2如果有则卸载

rpm -e --nodeps mariadb-libs

#rpm --nodeps选项为强制执行

3安装cmake

yum install -y cmake

4创建mysql用户

useradd -M -s /sbin/nologin mysql

5创建mysql数据目录并修改文件的属主/组

mkdir /mydata/data -p

chown -R mysql.mysql /mydata/data/

6下载mysql的软件压缩包并解压

wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.17.tar.gz

tar zxf mysql-boots-5.7.17.tar.gz

#如果上方链接不能用则

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17.tar.gz

wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

并且解压mysql

tar zxf mysql-5.7.17.tar.gz

创建/usr/local/boots目录 用来存放boots安装包 并把下载好的boots包剪切到此并解压

mkdir -p /usr/local/boots

mv ./boost_1_59_0.tar.gz /usr/local/boots/

cd /usr/local/boots/

tar zxf boots_1_59_0.tar.gz

并且把下方mysql生成环境中的 -DWITH_BOOST=boost/boost_1_59_0/ 修改到最后一行为-DWITH_BOOST=/usr/local/boost \

7 进入mysql解压后的目录

cd mysql-5.7.17

8编译mysql生成环境

cmake \ #cmake . -L 查看帮助

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定mysql的安装目录

-DMYSQL_UINX_ADDR=/tmp/mysql.sock \ #指定mysql的套接字文件路径

-DDEFAULT_CHARSET=utf8 \ #指定mysql的字符集

-DDEFAULT_COLLATION=utf8_general_cI \ #指定MySQL排序规则

-DMYSQL_DATADIR=/mydata/data \ #指定mysql的数据目录

-DMYSQL_TCP_PORT=3306 \ #指定MySQL启动的端口号

-DWITH_BOOST=boost/boost_1_59_0/ \ #指定boost库文件

-DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持myisam存储引擎

-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持innodb存储引擎

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #支持archive存储引擎

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #支持blackhole存储引擎

#错误1

CMake Error:your C compiler : "CMAKE_C_COMPOLER-NOTFOUND"was not found . please set CMAKE_C_COMPILER to a valid

compiler path or name .

CMake Error: your CXX compiler : "CMAKE_CXX_COMPILER-NOTFOUND" was not found . please set CMAKE_CXX_COMPILER to a

calid compiler path or name.

CMake Error at cmake/os/Linux.cmake : 41 (MESSAGE) :

Unsupported compiler!

Call Stack (most recent call first):

CMckeLists.txt:162(INCLUDE)

#解决办法

yum groupinstall -y "Development Tools" "Server Platform Development" "Desktop Platform Development"

#错误2

CMake Error at cmake/readline.cmake:64(MESSAGE):

Curses library not found. Please install appropriate package,

#解决办法

yum install -y ncurses-devel.x86_64

#如果编译过程报错 那么要删除mysql解压后的目录中的CMakeCache.txt

rm -rf CMakeCache.txt

9 检测并安装mysql

make

10安装mysql

make install

10修改/usr/local/mysql/的属主/组

chown -R root.mysql /usr/local/mysql/

三初始化数据库

1设置初始化的配置

/usr/local/mysql/bin/mysqld --initialize \ #初始化

--user=mysql \ #mysql启动用户

--basedir=/usr/local/mysql \ #MySQL安装目录

--datedir=/mydata/data #mysql数据目录

#之后会有一条

2017-03-10T08:21:12.889095Z 1 [Note] A temporary password is generated for root@localhost: xxxxxxxx

#:后的 xxxxxxx是你的mysql初始密码

#错误1、[ERROR] --initialize specified but the data directory has files in it. Abort

[错误] -初始化指定,但数据目录中有文件。中止

解决方法:将数据目录下已存在的文件全部删除。如:rm -rf /data/mysql/*

2复制mysql配置文件

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

3修改my.cnf

vim my.cnf

添加内容为 : basedir=/usr/local/mysql

datadir=/mydata/data

port=3366

server_id=121

socket=/tmp/mysql.sock

保存退出

4启动MySQL 并查看是否启动

/usr/local/mysql/bin/mysqld_asfe --user=mysql &

ps aux | grep mysql (进程) 或者 ss -antp | grep :3306 (进程)

5登陆mysql

/usr/local/mysql/bin/mysql -u root -p

输入密码:

6进入mysql 就和yum安装的mysql操作一样了

7如果要使用mysql命令时不加绝对路径。那就修改mysql环境变量 临时

echo $OATH 查看一下

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

echo $OATH 查看一下

8永久修改

1 vim /etc/porfile

添加一行 export PATH=$PATH:/usr/local/mysql/bin

2 在/etc/profile.d/下创建一个mysql专门的配置文件 文件名随便起记住就行 但是必须以 .sh 结尾

vim /etc/profile.d/mysql.sh

读取一边这个文件

source /etc/profile.d/mysql.sh

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值