源码安装mysql-5.7.13一周的冤枉路总结。满满的都是泪啊

MySQL从5.5以后都是用cmake来进行安装。

5.7.5开始安装环境需要boost库的支持

下载安装包:

https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.13.tar.gz

https://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

tar解压安装包。

需要的编译环境:make gcc gcc-c++ ncurses-devel openssl openssl-devel bison*

ps:编译环境一定要装全,被坑了两星期悟出的血的教训。

正式安装前一定查看有没有安装MySQL的rpm包。如果有的话先卸载。有的系统会自带有mariadb建议同样卸载。

编译:

cmake . -DCMAKE_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/data/mydata \

-DSYSCONFDIR=/etc \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DWITH_LIBWRAP=0 \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DWITH_SSL=system \

-DWITH_ZLIB=system \

-DWITH_BOOST=/document/tar/boost_1_59_0 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

ps:感觉参数比较多在命令行里不好写,可以写成脚本。出现问题,把问题粘到百度上找吧。基本上都是编译环境的问题。缺什么包直接装什么包就行了。

只要以上没问题,就可以按照make ; make install 的套路走了。这一步比较慢,视机器性能而定。

安装完成。

创建mysql用户

useradd mysql

将MySQL的安装目录更改属主和属组为mysql。

chown -R mysql:mysql  /usr/local/mysql

在mysql目录下创建mysql-files目录

mkdir mysql-files

ps:默认时没有这个目录的。见别人创建我也创建了。也不知道是干啥用的。

然后是初始化目录

./bin/mysqld --initialize --user=mysql

第一次初始化的时候在最后会有一串类似乱码的东西。那是个临时密码。(然而并没有什么卵用。因为你可能压根就启动不起来)

ps:初始化默认只能进行一次。如果继续初始化的话。需要把配置文件my.cnf中的数据目录清空。同样,如果要更改数据存放目录。也要重新进行初始化。

配置文件解析:


[mysqld]

datadir=/data/mydata   #数据目录

socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

skip-grant-tables   #这个是默认没有的,跳过密码登陆。

# Settings user and group are ignored when systemd is used.

# If you need to run mysqld under a different user or group,

# customize your systemd unit file for mariadb according to the

# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]

log-error=/var/log/mysql/error.log         #错误日志文件

pid-file=/var/run/mysql/mysql.pid           #进程PID

#

# include all files from the config directory

#

!includedir /etc/my.cnf.d

启动mysql

./support-files/mysql.server start

ps:如果能启动起来,只能说你运气逆天

如果启动不起来,查看my.cnf

如果是:

[mysqld_safe]

log-error=/var/log/mariadb/error.log

pid-file=/var/run/mariadb/mariadb.pid

将mariadb更改为mysql。再查看有没有这两个路径,如果没有就创建这两个目录。只创建目录,不创建文件。

注意属组和属主要是mysql。

然后重新启动。

如果临时密码忘了或者是临时密码登陆不进去。更改密码:./bin/mysqladmin -u root password "root"    #注意路径问题。

如果登陆或更改密码时报错:

[[email protected] mysql]# ./bin/mysql -uroot -p

Enter password:

ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)

ps:被这问题缠绕了一天。解决办法就是用find在根目录下查找mysql.sock文件。然后做个软链接到报错的路径。

[[email protected] mysql]# find / -name mysql.sock

find: ‘/run/user/1001/gvfs’: 权限不够

/var/lib/mysql/mysql.sock

[[email protected] mysql]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

根据个人找到的路径不同做更改,具体原理参照下面链接。非常详细。

https://www.cnblogs.com/Lam7/p/6090975.html    ps:感谢

然后重新启动服务。可以先用跳过密码登陆。

my.cnf配置文件中加:skip-grant-tables

登陆后更改密码:

update mysql.user set authentication_string=password("root") where user;

ps:整个过程找问题找资料找了一周,希望这篇文章能让你少走点冤路。

原文地址:https://www.cnblogs.com/lingshu/p/8969388.html

时间: 2024-10-22 21:30:59

源码安装mysql-5.7.13一周的冤枉路总结。满满的都是泪啊的相关文章

源码安装mysql,及主从同步

源码安装mysql [可选] 如果用源码安装cmake软件: cd /home/oldboy/tools/ tar xf cmake-2.8.8.tar.gz cd cmake-2.8.8 ./configure #CMake has bootstrapped. Now run gmake. gmake gmake install cd ../ 依赖包安装(这里直接可以用yum安装cmake) # yum install cmake gcc gcc-c++ gcc-g77 autoconf au

Linux平台下源码安装mysql多实例数据库

Linux平台下源码安装mysql多实例数据库[[email protected] ~]# netstat -tlunp | grep 330tcp6 0 0 :::3306 :::* LISTEN 6191/mysqld [[email protected] ~]# ss -tlunp | grep 330tcp LISTEN 0 80 :::3306 :::* users:(("mysqld",pid=6191,fd=10)) [[email protected] ~]# syst

CentOS7下源码安装MySQL 8.x

会选择使用源码安装MySQL,想必对MySQL及其他的安装方式已经有了一定的了解,这里就不对周边信息进行过多赘述了,直接开始吧. 编译MySQL比较消耗内存,如果机器内存较小,可能会在编译期间出现内存不足的异常.若没有设置swap分区的可以设置swap分区来解决,否则只能扩容内存了: [[email protected] ~]# dd if=/dev/zero of=/swapfile bs=1k count=2048000 [[email protected] ~]# mkswap /swap

源码安装mysql

创建mysql组:groupadd mysql 创建mysql用户并赋予这个mysq组中,不创建家目录,不允许用户登录.(因为刚刚创建的mysql是虚拟用户,所以不允许登录)useradd mysql -g mysql -M -s /bin/nologin 源码安装mysql 解压后进行编译安装:./configure \--prefix=/application/mysql5.1.72 \--with-unix-socket-path=/application/mysql5.1.72/tmp/

CentOS 7下源码安装MySQL 5.7

网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点是安装速度快,安装步骤简单,缺点是安装包很大,300M左右(5.7版本的是600M左右), 对于第二种方法,我搞了一天,无果,到某个环节实在是无法走通,老大那边也不让搞了,隔了几天老大又吩咐我在生产服务器上安装mysql,这次我就按照第一种方法源码安装方式 下载源码安装包 http://dev.my

centos6.5下源码安装mysql密码修改

Centos下源码安装mysql密码破解方法: 方法一:首先停止mysql服务,: /etc/init.d/mysqldstop 停止mysql ps -ef |grep mysql 查看mysql是否关闭 然后以跳过权限方式后台启动 /usr/local/mysql/bin/mysqld_safe--skip-grant-tables --user=mysql & /usr/local/mysql/bin/mysql进入mysql 或者执行mysql回车进入mysql,然后修改密码. 修改My

Linux 源码安装mysql

源码安装mysql tar zxf mysql-boost-5.7.11.tar.gz rpm -ivh cmake-2.8.12.2-4.el6.x86_64.rpm yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y cd mysql-5.7.11/ yum install gcc-c++ ncurses-devel bison -y 检测 [[email protected]]# cmake -DCMAKE_INSTALL_PREFIX=/usr/

CentOS 6.4 源码安装MySQL 5.6

1.安装前准备工作 1.1 必备的包 gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本.bison :MySQL语法解析器需要使用bison进行编译.ncurses-devel :用于终端操作的开发包. 1.2 MySQL编译参数 CMAKE_BUILD_TYPE 编译的版本类型:RelWithDebInfo和Debug,不同之处是RelWithDebInfo会进行优化.CMAKE_I

linux上源码安装MySQL详解

最近需要使用MySQL Fabric,这货是MySQL5.6.10之后才出现的utility.手头机器装的是MySQL5.1,所以需要先把旧版MySQL升级成5.6版本.之前没有玩过MySQL,所以这次稍微费了点事.在此,把过程记录下来,希望能给有需求的人提供一点帮助.下面我们就正式开始. 1. 删除老版本MySQL 其实删除老版MySQL是一件很简单的事,但是开始时候由于担心各个包的依赖会导致各种问题,亦步亦趋来得很慢.其实只需要做到这么几步就可以了: 1.1 查看已安装的mysql版本并删除

CentOS7 下源码安装MySQL 8.0.11

CentOS7 下源码安装MySQL 8.0.11 系统环境:CentOS7, 内核:Linux 3.10.0-862.el7.x86_64 如果有旧版本的MySQL,先卸载,用下面命令来查询出系统有哪些相关的MySQL包. rpm -qa | grep mysql 如果上述命令查询出有相关的MySQL包,就卸载 rpm -e 包名 卸载MariaDB包 yum remove mariadb-libs.x86_64 从MySQL官网下载源码包,并将该文件拷贝到系统中. https://dev.m