MYSQL/mysql源码安装(linux(centos)

Linux源码编译安装MYSQL

一、mysql是什么?

示例:MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。

二、安装步骤

1.解压

代码如下(示例):

tar xf mysql-5.7.30.tar.gz -C /usr/local/src    //解压主包“mysql-5.7.30.tar.gz”到 /usr/local/src 目录
tar xf  boost_1_59_0.tar.gz   //Boost库是一个可移植、提供源代码的C++库  
mv boost_1_59_0   /usr/local/boost   //不需要编译    只需要把解压好的boost库文件移动到 /usr/local/boost 目录

2.安装相关依赖

代码如下(示例):

yum -y install gcc-c++  ncurses-devel cmake openssl openssl-devel

也可以一边编译一遍补包,不过我个人比较喜欢先把相关的依赖装好。

3.新建一个Mysql用户,

代码如下(示例):

groupadd -g 27 mysql   //创建mysql组
useradd -u 27 -g mysql  -M   -s  /sbin/nologin  mysql     //创建mysql用户
 id mysql //  看一下是否建立成功

uid=27(mysql) gid=27(mysql) 组=27(mysql)
不创建mysql家目录,是无法登陆系统的。建立MySQL数据库必须拥有一个mysql账户,账户是用户登录的钥匙,也可以理解为一个登陆凭证,就好像现在物业公司的门禁系统一样。

mkdir  /data/mysql     //创建存放mysql数据库的目录,建议该目录独立挂载,易于备份管理。
chown mysql:mysql   /data/mysql/     //让该目录和组属于mysql
cd /usr/local/src/mysql-5.7.30   // 进入到解压出来的mysql目录下在编译

4.开始编译 (必须进入mysql目录下编译)

执行下面的命令开始,注意如果cmake 的检测过程中,如果出现错误,需要删除缓存文件(rm CMakeCache.txt),然后重新cmake,

cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57 -DMYSQL_DATADIR=/data/mysql  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock  -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1    -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost -DWITH_INNODB_MEMCACHED=ON

cmake 参数解析 :----------------------------------------------------------------

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql57 指定安装路径
-DMYSQL_DATADIR=/data/mysql 指定数据存放路径
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci 设置字符校验集
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock 设置套接字生成路径
-DMYSQL_USER=mysql
-DWITH_MYISAM_STORAGE_ENGINE=1 ##存储引擎的支持
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DDOWNLOAD_BOOST=1
-DWITH_BOOST=/usr/local/boost 指定Boost扩展源码路径


make   //编译成功后执行make命令,此过程可能需要半小时,需要耐心等待
make  install  //开始安装,注意磁盘空间的空间是否足够一般需要6-8G

## 5.安装完成后,需要对一些配置文件进行配置

首先是(etc/my.cnf)文件

[client]
port=3306
socket=/data/mysql/mysql.sock   //为MySQL客户程序与服务器之间的本地通信指定一个套接字文件

[mysqld]
character-set-server=utf8   //指定默认字符集
collation-server=utf8_general_ci   //

skip-name-resolve
user=mysql    //用户名
port=3306    //指定端口
basedir=/usr/local/mysql57
datadir=/data/mysql
tmpdir=/tmp
socket=/data/mysql/mysql.sock

log-error=/data/mysql/mysqld.log   //错误日志文件
pid-file=/data/mysql/mysqld.pid   //储存进程号的文件

上面只是很少一部分的配置,此文件很重要,以后还要进行很多的配置来帮助我们更好的使用mysql。

扫描二维码关注公众号,回复: 13146656 查看本文章

然后将编译好的mysql bin里面的命令,加入到 $PATH 变量中在/etc/profile 最后一行中添加

       vim /etc/profile
       PATH=$PATH:/usr/local/mysql57/bin 
       export  PATH 
source /etc/profile 重新读取生效

6.初始化数据库,

代码如下(示例):

 /usr/local/mysql57/bin/mysqld  --defaults-file=/etc/my.cnf   --initialize  --user=mysql  //这里我的目标路径是/data/mysql 注意一定要是**空目录**

defaults-file : 指定MySQL配置文件路径 ##这里面有我们刚才配置好的参数
initialize : 初始化随机密码,注意,初始化的密码是一个过期密码,登录后需要立刻修改密码
user: 指定运行用户

7.找到自己的初始化密码,

默认在 mysqld.log ,自己的日志文件中/data/mysql/

在这里插入图片描述可以看到此时的密码为FQ…l

8.启动MYSQL数据库,

代码如下(示例):

 /usr/local/mysql57/support-files/mysql.server   start 
mysql57/bin/mysql -uroot  -p"jslw4.TgDvfV"  // 这个密码就是日志中生成的密码 

登录成功后提示需要修改密码

mysql> ALTER  USER   'root'@'localhost'   IDENTIFIED BY  '123123'; //修改密码为123123
mysql> flush privileges;  //立刻生效

如果觉得每次都输入密码太麻烦就把密码写进mysql的(etc/my.cnf)文件里,这样就不用输入密码了,不过要注意这具有一定的风险。

在这里插入图片描述

9.现在可以开始使用mysql了

猜你喜欢

转载自blog.csdn.net/qq_40584358/article/details/113572480