cetos7源码 安装mysql_centos7-源码安装mysql5.7

centos7源码安装5.7mysqlnode

源码安装mysql在生产环境上是很经常使用的,可是源码安装出的问题比较多,接下来咱们来看看咱们如何安装使用源码mysql。mysql

注:在安装源码时,为了不没必要要的麻烦。咱们须要关掉selinux。linux

一、mysql编译安装c++

[root@node1 src]#wget  https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz

[root@node1 src]#yum install -y cmake gcc-c++ gcc ncurses-devel perl-Data-Dumper boost boost-doc boost-devel

##安装环境依赖包sql

[root@node1 src]# tar -xf mysql-boost-5.7.20.tar.gz

[root@node1 src]# cd mysql-5.7.20/

[root@node1 mysql-5.7.20]#useradd mysql  -s /sbin/nologin

[root@node1 mysql-5.7.20]#mkdir -pv /usr/local/mysql/mydata

[root@node1 mysql-5.7.20]#mkdir -pv /usr/local/mysql/conf

[root@node1 mysql-5.7.20]#chown -R mysql:mysql /usr/local/mysql

注意小事项:数据库

若是之前装过mariadbd的须要删除my.cnf文件centos

[root@node1 mysql-5.7.20]#rm -rf /etc/my.cnf

必须删除my.cnf,其为mariadb配置文件,于mysql有冲突安全

[root@node1 mysql-5.7.20]#cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/mydata \

-DSYSCONFDIR=/usr/local/mysql/conf \

-DMYSQL_USER=mysql \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

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

-DMYSQL_TCP_PORT=3306 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_DEBUG=0 \

-DMYSQL_MAINTAINER_MODE=0 \

-DWITH_SSL:STRING=bundled \

-DWITH_ZLIB:STRING=bundled \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=./boost            #$由于5.7版本因此须要编译boost

[root@node1 mysql-5.7.20]#make && make install

2.新建配置my.cnf配置文件,不新建会起不来bash

接下来咱们看看mysql的启动路径顺序:服务器

My.cnf启动顺序:

/etc/my.cnf

/etc/mysql/my.cnf

/usr/local/mysql/etc/my.cnf

~/.my.cnf

其余自定义路径下的my.cnf,例如:/data/mysql/yejr_3306/my.cnf

无论是mysqld服务器端程序,仍是mysql客户端程序,均可以采用下面两个参数来自行指定要读取的配置文件路径:

咱们新建咱们的配置文件

[root@node1 mysql-5.7.20]# cat /etc/my.cnf

[mysqld]

datadir=/usr/local/mysql/mydata        ##这个目录要有mysql用户权限

socket=/tmp/mysql.sock     ###让它生成在tmp目录下,其余目录也能够,但要给予权限,在tmp目录下咱们就不须要,等下建个软链接就好。

3.设置添加到系统服务并设置开机启动

[root@node1 mysql-5.7.20]#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

[root@node1 mysql-5.7.20]#chmod +x /etc/init.d/mysqld

[root@node1 mysql-5.7.20]#chkconfig --add mysqld

[root@node1 mysql-5.7.20]#chkconfig mysqld on

四、将mysql添加到bash

[root@node1 mysql-5.7.20]#cp /usr/local/mysql/bin/mysql /usr/bin/mysql

5.咱们初始化mysql

[root@node1 mysql-5.7.20]#/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/mydata

六、启动咱们的mysql

[root@node1 mysql-5.7.20]# service mysqld start

Starting MySQL.Logging to '/usr/local/mysql/mydata/node2.err'.

Starting MySQL. SUCCESS!

[root@node1 mysql-5.7.20]# ln -s /tmp/mysql.sock /usr/local/mysql/mysql.sock    ###新建软链接,启动mysql以便咱们能找到mysql.sock

[root@node1 mysql-5.7.20]# service mysqld restart

Shutting down MySQL.. SUCCESS!

Starting MySQL. SUCCESS!

[root@node1 mysql-5.7.20]# cat  /etc/my.cnf

[mysqld]

datadir=/usr/local/mysql/mydata

socket=/usr/local/mysql/mysql.sock       ###再修改咱们的mysql.sock路径

咱们发现能够启动成功

七、进入咱们的数据库。

[root@node1 mysql-5.7.20]#mysql

Linux mysql 5.6: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

##发现会出错,但咱们并非咱们的mysql密码,且咱们也进不入安全模式。怎么办呢?

八、解决密码问题,进入数据库。

咱们进入咱们的配置文件添加skip-grant-tables,

[root@node1 mysql-5.7.20]# cat /etc/my.cnf

[mysqld]

datadir=/usr/local/mysql/mydata

socket=/tmp/mysql.sock

skip-grant-tables

[root@node1 mydata]# service mysqld restart

Shutting down MySQL. SUCCESS!

Starting MySQL. SUCCESS!

九、测试,修改密码。

[root@node1 mysql-5.7.20]# mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.7.20 Source distribution

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

##能够发现能够进入mysql了

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

修改密码,须要把skip-grant-tables删掉,而后重启服务,以root密码登录,而后设置咱们的密码:

mysql>set password =password('123456');

这样之后就能够愉快的玩耍了。

总结:咱们发现咱们在源码安装时遇到的问题很是多,像配置文件要咱们新建,mysql.sock 目录也有咱们自动生成,建立的目录要给权限,密码修改等问题,须要咱们注意,因此咱们把以上的方面作好,咱们就能够成功的完成源码安装。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值