bbs.thinkzhu.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 5960|回复: 5
打印 上一主题 下一主题

centos7rpm方式安装mysql5.7

[复制链接]

170

主题

267

帖子

1541

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1541
跳转到指定楼层
楼主
发表于 2018-1-4 09:54:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本来不准备写这个的,网上太多了,但是情况各有区别,我没有发现一篇我能照着安装成功。经过一番折腾,终于安装完了。
一、首先到官网下载吧:
https://dev.mysql.com/downloads/mysql/
二、解压:
#tar -xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
解压后有如下rpm:
[root@hostaa mysql_rpm]# ls -l
总用量 1141908
-rw-r--r-- 1 root root  584652800 5月  13 01:02 mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
-rw-r--r-- 1 7155 31415  25079412 3月  20 17:40 mysql-community-client-5.7.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415    277784 3月  20 17:40 mysql-community-common-5.7.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415   3777808 3月  20 17:40 mysql-community-devel-5.7.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415  45493312 3月  20 17:40 mysql-community-embedded-5.7.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415  23924496 3月  20 17:40 mysql-community-embedded-compat-5.7.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 126060264 3月  20 17:40 mysql-community-embedded-devel-5.7.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415   2237888 3月  20 17:40 mysql-community-libs-5.7.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415   2113196 3月  20 17:40 mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415  54661812 3月  20 17:40 mysql-community-minimal-debuginfo-5.7.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 169622200 3月  20 17:41 mysql-community-server-5.7.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415  14501488 3月  20 17:41 mysql-community-server-minimal-5.7.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 116887988 3月  20 17:41 mysql-community-test-5.7.18-1.el7.x86_64.rpm
三、一个rpm一个rpm的来安装吧
这里要注意安装顺序,但是其实不用记顺序。
比如我先安装server吧:(如果没有安装common和client就会报错)
#rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
警告:mysql-community-server-5.7.18-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
        mysql-community-client(x86-64) >= 5.7.9 被 mysql-community-server-5.7.18-1.el7.x86_64 需要
        mysql-community-common(x86-64) = 5.7.18-1.el7 被 mysql-community-server-5.7.18-1.el7.x86_64 需要
有人说可以取消依赖:#rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm --nodeps,但是个人不建议这么做,安装好后可能也会有问题,rpm都有了,依赖检测失败你就装上依赖就是了。

3.1好吧,那就先安装common吧
  # rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
警告:mysql-community-common-5.7.18-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
        file /usr/share/mysql/czech/errmsg.sys from install of mysql-community-common-5.7.18-1.el7.x86_64conflicts with filefrom package mariadb-libs-1:5.5.44-2.el7.centos.x86_64
        file /usr/share/mysql/danish/errmsg.sys from install of mysql-community-common-5.7.18-1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.44-2.el7.centos.x86_64
       ... ...
        file /usr/share/mysql/estonian/errmsg.sys from install of mysql-community-common-5.7.18-1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.44-2.el7.centos.x86_64
        file /usr/share/mysql/french/errmsg.sys from install of mysql-community-common-5.7.18-1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.44-2.el7.centos.x86_64
       ... ...
来自mysql-ccommunity-common-5.7.18-1.el7.x86_的文件和mariadb-libs-1:5.5.44-2.el7.centos.x86_64的文件冲突?什么意思?查了下:
出现以上安装错误列表的原因是:系统已经安装了其他版本的mysql-libs包和mysql数据库文件导致不兼容
解决:# yum remove mysql-libs  
------------------------------------------------------------------------------------------------------------------------
已加载插件:fastestmirror, langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb-libs.x86_64.1.5.5.44-2.el7.centos 将被 删除
--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 2:postfix-2.10.1-6.el7.x86_64 需要
--> 正在处理依赖关系 libmysqlclient.so.18(libmysqlclient_18)(64bit),它被软件包 2:postfix-2.10.1-6.el7.x86_64 需要
--> 正在检查事务
---> 软件包 postfix.x86_64.2.2.10.1-6.el7 将被 删除
--> 解决依赖关系完成
base/7/x86_64                                                                                                   | 3.6 kB  00:00:00   
extras/7/x86_64                                                                                                 | 3.4 kB  00:00:00   
updates/7/x86_64                                                                                                | 3.4 kB  00:00:00   

依赖关系解决
=======================================================================================================================================
Package                         架构                      版本                                     源                            大小
=======================================================================================================================================
正在删除:
mariadb-libs                    x86_64                    1:5.5.44-2.el7.centos                    @anaconda                    4.4 M
为依赖而移除:
postfix                         x86_64                    2:2.10.1-6.el7                           @anaconda                     12 M

事务概要
=======================================================================================================================================
移除  1 软件包 (+1 依赖软件包)

安装大小:17 M
是否继续?[y/N]:y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
** 发现 4 个已存在的 RPM 数据库问题, 'yum check' 输出如下:
icedtea-web-1.6.1-4.el7.x86_64 有缺少的需求 java-1.8.0-openjdk
jline-1.0-8.el7.noarch 有缺少的需求 java >= ('0', '1.5', None)
1:libreoffice-core-4.3.7.2-5.el7.x86_64 有缺少的需求 java-headless >= ('1', '1.6', None)
1:libreoffice-ure-4.3.7.2-5.el7.x86_64 有缺少的需求 libjvm.so()(64bit)
  正在删除    : 2:postfix-2.10.1-6.el7.x86_64                                                                                      1/2
  正在删除    : 1:mariadb-libs-5.5.44-2.el7.centos.x86_64                                                                          2/2
  验证中      : 1:mariadb-libs-5.5.44-2.el7.centos.x86_64                                                                          1/2
  验证中      : 2:postfix-2.10.1-6.el7.x86_64                                                                                      2/2

删除:
  mariadb-libs.x86_64 1:5.5.44-2.el7.centos                                                                                          

作为依赖被删除:
  postfix.x86_64 2:2.10.1-6.el7                                                                                                      

完毕!
------------------------------------------------------------------------------------------------------------------------------------------------------------

类似的错误,都可以先试试彻底从centos中卸载mysql。

3.2然后再重新安装依次安装吧:
# rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
警告:mysql-community-common-5.7.18-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-common-5.7.18-1.e################################# [100%]

# rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
警告:mysql-community-libs-5.7.18-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-libs-5.7.18-1.el7################################# [100%]
# rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
警告:mysql-community-client-5.7.18-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-client-5.7.18-1.e################################# [100%]
# rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
警告:mysql-community-server-5.7.18-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-server-5.7.18-1.e################################# [100%]


# rpm -ivh mysql-community-devel-5.7.18-1.el7.x86_64.rpm (可选安装)
警告:mysql-community-devel-5.7.18-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-devel-5.7.18-1.el################################# [100%]

四、启动:
# systemctl start mysqld
查看状态:
# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active:
active (running)since 六 2017-05-13 13:39:56 CST; 28min ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 5791 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 5714 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 5795 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─5795 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

5月 13 13:39:28 hostaa systemd[1]: Starting MySQL Server...
5月 13 13:39:56 hostaa systemd[1]: Started MySQL Server.
5月 13 14:05:49 hostaa systemd[1]: Started MySQL Server.


五、登陆:
这种方式安装好后,会再my.cnf文件中自动生成一个密码,执行看一下吧:
# cat /var/log/mysqld.log | grep password
2017-05-13T05:39:44.497086Z 1 [Note] A temporary password is generated for root@localhost:
pKsO:Jin<4f%

密码就是这么复杂,复制吧,不然手输还容易出错。
登陆:#mysql -u root -p
Enter password:pKsO:Jin<4f%
Welcome to the MySQL monitor.  Commands end with ; or \g
Your MySQL connection id is 7
Server version: 5.7.18

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>

.--登陆成功,但是这时候,还不能做任何事情。随便你做什么都会提示你:
ERROR 1820 (HY000): You must reset your passwordusing ALTER USER statement before executing this statement.
那就来reset吧:
mysql> SET PASSWORD = PASSWORD('Mysql5718');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

(密码过于简单,必须大写,小写,数字,符号)
mysql> SET PASSWORD = PASSWORD('Mysql5718%');
Query OK, 0 rows affected, 1 warning (0.00 sec)

好了,现在终于可以操作了:
mysql> create database roger;
Query OK, 1 row affected (0.01 sec)
mysql> use roger;  
Database changed
mysql>

额外:一般自己装个mysql就是用来测试的,结果密码还那么麻烦,哪天忘记了都有可能,想要设置简单的密码,把密码安全级别设置低一点吧:
mysql> set global validate_password_policy=0;//0最低,1中级,2最强验证级别
Query OK, 0 rows affected (0.00 sec)
PolicyTests Performed
0 or LOWLength
1 or MEDIUMLength; numeric, lowercase/uppercase, and special characters
2 or STRONGLength; numeric, lowercase/uppercase, and special characters; dictionary file



六、授权远程连接:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Mysql5718%' WITH GRANT OPTION;         
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> FLUSH PRIVILEGES;   
Query OK, 0 rows affected (0.01 sec)

这样,我们就可以在其他电脑上的mysql客户端远程连接linux上的mysql数据库了:(例如在win cmd里面)
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>mysql -u root -pMysql5718% -h 192.168.231.8 -D roger
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 5.7.18 MySQL Community Server (GPL)

Copyright (c) 2000, 2011, 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>
(如果连不上,看看是不是防火墙开着的。)



170

主题

267

帖子

1541

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1541
沙发
 楼主| 发表于 2018-1-4 11:02:14 | 只看该作者
nginx源码编译安装出现“make[1]: Leaving directory `/usr/local/nginx’“解决办法

我要先说明,或许我遇到的问题或许大家并不一定能真正的解决!我先说下我遇到问题的详细情况:


服务器配置:centos7 64位

nginx版本:下载的是nginx 稳定版nginx-1.12.1


安装nginx的时候出现“make[1]: Leaving directory `/usr/local/nginx-1.12.1”问题,如下提示行:


test -d '/usr/local/nginx/logs' \

        || mkdir -p '/usr/local/nginx/logs'

test -d '/usr/local/nginx/html' \

        || cp -R html '/usr/local/nginx'

test -d '/usr/local/nginx/logs' \

        || mkdir -p '/usr/local/nginx/logs'

make[1]: Leaving directory `/usr/src/nginx-1.10.3'


相信大家都知道,源码安装nginx有几个详细步骤:


1、下载nginx

wget http://nginx.org/download/nginx-1.12.1.tar.gz


2、解压nginx

tar vfxz nginx-1.12.1


3、进入nginx目录

cd nginx-1.12.1


4、配置 nginx

./configure --prefix=/usr/local/nginx


5、编译nginx(生成2进制)

make


6、安装nginx(把生成的 2 进制复制到 prefix 指定的安装路径里)

make install


我是在make nginx的时候出的问题只有一行提示:

make[1]: Leaving directory `/usr/local/nginx-1.12.1;我个人认为这句话的意思是,安装后,离开了这个文件;


因为我所有的操作步骤都是按照上面来的,我的解决办法也非常的简单:

如果你走到make这一步的时候只出现了一行“make[1]: Leaving directory `/usr/local/nginx-1.12.1;”提示,不用管它,继续走make install ;

然后:

1、我只需要去看/usr/local下面是否有nginx文件夹?

2、如果已经有nginx文件夹?

3、我们再去看nginx是否可以正常启动?

4、如果nginx启动也可以成功,我们再去看下网站是否可以访问,是否会出现“Welcome to nginx!”?

5、如果上面都成功了,说明你的nginx已经ok!


提醒:此解决方法只针对报错一行,如果你安装nginx走到make这一步的时候,报错了很多行的make解决办法就不一样了,比如说:有时候安装nginx需要指定 pcre 的源码目录;


注意:关于出一个提示make[1]: Leaving directory `/usr/local/nginx-1.12.1我猜测应该是服务器环境的原因?




170

主题

267

帖子

1541

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1541
板凳
 楼主| 发表于 2018-1-6 11:18:18 | 只看该作者
nginx 的重启

没有设置的系统环境变量,就要进入nginx目录/**/**/nginx/sbin/下执行
./nginx  启动
./nginx -s stop 停止
./nginx -s reload 重启

170

主题

267

帖子

1541

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1541
地板
 楼主| 发表于 2018-1-10 11:59:14 | 只看该作者
说到Php,那真是一把泪...下面讲tar编译安装
       1.官网下载
          wget -s php地址.tar.gz
       2.解压
          tar -zxvf  xxxx.tar.gz
       3.配置编译
          进入解压的包,./configure  --prefix=安装文件路径 --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx
*安装php,fpm是必须的,配置的时候不配置,安装后就没有,极大的坑,其中--with-fpm-user=nginx --with-fpm-group=nginx这个又是大坑,因为启动php-pfm的时候,
发现没有nginx这个用户和用户组,通过ps -auh|grep nginx查到有一个nobody用户挂在root用下运行nginx,我就到php/etc/php-fpm.d/www.conf用户改成nobody就可以
      以下的配置项,自己看着选配
--with-openssl
--with-pcre-regex
--with-kerberos
--with-libdir=lib
--with-libxml-dir
--with-mysqli=shared,mysqlnd
--with-pdo-mysql=shared,mysqlnd
--with-pdo-sqlite
--with-gd
--with-iconv
--with-zlib
--with-xmlrpc
--with-xsl
--with-pear
--with-gettext
--with-curl
--with-png-dir
--with-jpeg-dir
--with-freetype-dir
--with-fpm-user=nginx
--with-fpm-group=nginx
--enable-mysqlnd
--enable-zip
--enable-inline-optimization
--enable-shared
--enable-libxml
--enable-xml
--enable-bcmath
--enable-shmop
--enable-sysvsem
--enable-mbregex
--enable-mbstring
--enable-ftp
--enable-gd-native-ttf
--enable-pcntl
--enable-sockets
--enable-soap
--enable-session
--enable-opcache
--enable-fpm
--enable-maintainer-zts
--enable-fileinfo
     4.make && make install
     5.复制php.ini到安装目录下
     cp php.ini-development  /xxxx/php/etc/php.ini
     配置php.ini
           比如:extension_dir
                 开启很多库:gd库等等

*很多配置文件没有,需要复制一下,比如cp php-fpm.conf.default php-fpm.conf
启动php-fpm在php/sbin下  ./php-fpm   需要的启动服务器都可以添加到开机自动启动和系统服务里

170

主题

267

帖子

1541

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1541
5#
 楼主| 发表于 2018-1-11 14:23:08 | 只看该作者
进入源码包下的ext下的扩展文件夹下

phpize

./configure  –with-curl=DIR

make && make install

这个安装一个curl的扩展

这样安装是没有指定路径,他会默认去找php/lib/php/extensions/no-debug-non-zts-20170718/curl.so

然后php.ini开启扩展

重启php-fpm

ps aux | grep php-fpm

pkill -9 php-fpm
/etc/init.d/php-fpm start

没有达到预想结果,多看看日志和报错

170

主题

267

帖子

1541

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1541
6#
 楼主| 发表于 2018-1-13 16:32:34 | 只看该作者
自动同步功能用到的是 git 的钩子功能,
服务器端:进入裸仓库:/home/testgit/sample.git

cd /home/testgit/sample.git
cd hooks
//这里我们创建post-receive文件
vim post-receive
//在该文件里输入以下内容
#!/bin/bash
git --work-tree=/home/www checkout -f
//保存退出后,将该文件用户及用户组都设置成git
chown git:git post-receive
//由于该文件其实就是一个shell文件,我们还应该为其设置可执行权限
chmod +x post-receive

现在我们可以在本地计算机中修改index.php文件,或者添加一个新文件,提交到远程仓库,然后到/home/www下面,看看有没有我们刚才提交的文件。
如果你在Git推送的工程中发现推送成功 但是在www目录下并没有自己的代码,这时候你可要注意了:这是由于文件夹的权限的原因造成的! 假设你的www目录的所属的用户组为root,你可以将你的git用户加入这个组;并给git添加写入权限,或者其他解决方法,反正你要服务器上的git用户有权限进入www文件夹。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|bbs.thinkzhu.com ( 京ICP备14043241号 )

Powered by Discuz! X3.4 © 2001-2012 Comsenz Inc.

GMT+8, 2019-12-7 20:17ag网投出|官网 , Processed in 0.054986 second(s), 21 queries .

快速回复 返回顶部 返回列表