centos7环境下源码安装mysql5.7.16的方法详解

吾爱主题 阅读:158 2024-04-05 16:20:27 评论:0

本文实例讲述了centos7环境下源码安装mysql5.7.16的方法。分享给大家供大家参考,具体如下:

一、下载源码包

下载mysql源码包

http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.16.tar.gz

二、安装约定:

用户名:mysql
安装目录:/data/mysql
数据库目录:/data/mysql/data

三、安装准备

1、添加用户

?
1 > useradd -s /sbin/nologin mysql

2、建立目录

?
1 > mkdir /data/mysql

3、改变目录拥有者和所属者

?
1 > chown -R mysql:mysql /data/mysql

4、安装编辑所需的文件

?
1 > yum install gcc gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel

(*mysql5.7.5以上版本需要安装boost)

?
1 > yum install boost boost-devel

5、解压源码包

?
1 > tar -xf mysql-5.7.16. tar .gz

四、编译安装

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 > cd /data/mysql-5 .7.16 > cmake \ -DMYSQL_USER=mysql \ -DCMAKE_INSTALL_PREFIX= /data/mysql \ -DMYSQL_DATADIR= /data/mysql/data \ -DSYSCONFDIR= /data/mysql \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DINSTALL_PLUGINDIR= /data/mysql/plugin \ -DWITH_READLINE=1 \ -DMYSQL_UNIX_ADDR= /data/mysql/mysql .sock \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST= /usr/local/boost

(*注意,如果出错,需删除CMakeCache.txt,重新运行配置)

关于上面参数的解释如下:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #mysql用户名 -DMYSQL_USER=mysql #安装路径 -DCMAKE_INSTALL_PREFIX= /data/mysql #数据文件存放位置 -DMYSQL_DATADIR= /data/mysql/data #my.cnf路径 -DSYSCONFDIR= /data/mysql #支持MyIASM引擎 -DWITH_MYISAM_STORAGE_ENGINE=1 #支持InnoDB引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1 #支持Memory引擎 -DWITH_MEMORY_STORAGE_ENGINE=1 #插件文件及配置路径 -DINSTALL_PLUGINDIR= /data/mysql/plugin #快捷键功能(我没用过) -DWITH_READLINE=1 #连接数据库socket路径 -DMYSQL_UNIX_ADDR= /data/mysql/mysql .sock #端口 -DMYSQL_TCP_PORT=3306 #允许从本地导入数据 -DENABLED_LOCAL_INFILE=1 #安装支持数据库分区 -DWITH_PARTITION_STORAGE_ENGINE=1 #安装所有的字符集 -DEXTRA_CHARSETS=all #默认字符 -DDEFAULT_CHARSET=utf8 #校验字符 -DDEFAULT_COLLATION=utf8_general_ci #会自动下载boost -DDOWNLOAD_BOOST=1 #指定boost目录 -DWITH_BOOST= /usr/local/boost

编译安装

?
1 > make && make install

复制配置文件

?
1 > cp /data/mysql/support-files/my-default .cnf /data/mysql/my .cnf

初始化数据库

?
1 2 3 4 5 6 > /data/mysql/bin/mysqld \ --defaults- file = /data/mysql/my .cnf \ --initialize \ --user=mysql \ --basedir= /data/mysql \ --datadir= /data/mysql/data \

如果出现如下信息:

unknown variable 'defaults-file=/data/mysql/my.cnf'

请保证--defaults-file配置选项在最前面。

如果出现如下信息:

[ERROR] --initialize specified but the data directory has files in it. Aborting.

请保证的你的datadir目录下为空,如果有文件则删除。

mysql5.7版本通过--initialize安装会随机生成root密码,请注意保存。

如果希望生成空密码请使用--initialize-insecure配置。

修改mysql目录拥有者

?
1 > chown -R mysql:mysql /data/mysql

五、配置mysql配置文件my.cnf

由于我们在编译安装mysql的时候设置了它的配置文件目录为/data/mysql,所以删掉/etc/my.cnf

以免受影响。

?
1 2 > rm -rf /etc/my .cnf > vi /data/mysql/my .cnf

配置如下:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [client] default-character- set = utf8 port = 3306 socket = /data/mysql/mysql .sock [mysql] default-character- set = utf8 [mysqld] skip-name-resolve basedir = /data/mysql datadir = /data/mysql/data port = 3306 server_id = 10 socket = /data/mysql/mysql .sock character- set -server = utf8 max_connections = 200 default-storage-engine = INNODB log-bin=mysql-bin

为mysql添加开机启动

?
1 2 3 > cp /data/mysql/support-files/mysql .server /etc/init .d /mysqld > chmod 755 /etc/init .d /mysqld > chkconfig --add mysqld

启动mysql服务

?
1 > service mysqld start

为mysql添加环境变量

?
1 2 > echo "export PATH=/data/mysql/bin/:$PATH" >> /etc/profile > source /etc/profile

通过上面保存过的密码登陆mysql来修改root密码

?
1 2 3 4 > mysql -uroot -p > set password=password( '123456' ); > alter user 'root' @ 'localhost' password expire never; > flush privileges;

希望本文所述对大家MySQL数据库计有所帮助。

原文链接:https://www.cnblogs.com/jkko123/p/6294554.html

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容