## 扩展内容-版本升级
使用包管理器部署环境时,安装的版本是安装源中预先设定好的,一般的版本都比较低。所以为了满足咱们的实际需求,往往需要对其中的一些程序进行版本升级。在这里咱们重点介绍一下,php版本和mysql的升级。
### 1. PHP版本的升级
在Centos6中,使用yum安装的默认PHP版本为5.3.3,如果要部署ThinkPHP5.0(>=PHP5.4)/ThinkPHP5.1(>=PHP5.6)项目的话,PHP的版本最低要求为5.6,所以需要对当前的PHP版本进行升级。升级方式如下:
**下载外部yum源**
在升级PHP时会用到外部的yum源,详细内容可以登录https://webtatic.com/进行查阅。
### Centos 5.X
~~~
rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
~~~
### CentOs 6.x
~~~
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
~~~
### CentOs 7.X
~~~
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
~~~
> 注意:在linux下访问https连接时,出现如下错误:
一般情况看是因为系统时间,不对造成的,可以修改系统时间为当前时间,来解决,也可以,使用ntpdate 同步系统时间。一般linux系统不自带ntpdate命令,需要首先安装一下:
### 安装ntpdate 命令
~~~
yum install ntpdate
#同步系统时间
ntpdate time.windows.com
~~~
![](https://box.kancloud.cn/b5b29937f5f3a1bf3a18089c5088f5cc_1327x431.png)
> 注意,升级PHP版本之前,首先需要卸载旧的PHP,否则可能会发生冲突
### 卸载PHP
~~~
yum remove php*
~~~
### 查看当前可安装的PHP版本
~~~
yum list |grep php
yum install php70w.i386 # 这里的包名,首先使用yum list |grep php进行查询
~~~
### 2. 安装PHP 扩展
在这里首先需要安装一下,主要扩展,其它的扩展可以根据需要进行安装
cli、common、gd、ldap、mbstring、mcrypt、mysql、pdo、devel、pear、xml、xmlrpc、imap
~~~
yum install php70w-cli.i386
~~~
### 3. 安装PHP FPM 内存管理
~~~
yum install php55w-fpm
yum install php56w-fpm
yum install php70w-fpm
~~~
安装之后,需要启动 fpm
~~~
service php-fpm start
~~~
### 重启apache
~~~
service httpd restart
~~~
访问,index.php测试
在安装时,具体的包表,要根据实际情况进行调整
### 2. mysql版本的升级
mysql的版本升级,和PHP的版本升级相同,并且mysql官方给的有yum源和相关的安装方法
登录mysql官网,https://dev.mysql.com/downloads/
安装yum源
#### 1. 下载yum源或者直接找到yum源的下载地址
在这里要注意,要和你的Linux版本对应,在这里咱们以Centos6下安装mysql5.6为例、
![](https://box.kancloud.cn/b2cca54f3866e18cc1bf19d48c1ab58d_1360x318.png)
#### 2. 安装yum源
#### 下载安装
~~~
rpm -Uvh mysql57-community-release-el6-11.noarch.rpm
~~~
#### 直接通过下载地址安装
~~~
rpm -Uvh https://repo.mysql.com//mysql57-community-release-el6-11.noarch.rpm
~~~
在这里要注意,安装后,mysql默认生效的仓库是5.7版本的。可以通过如下命令查看
~~~
yum repolist enabled |grep mysql
~~~
#### 3.开启mysql的5.6版本的仓库
~~~
yum repolist |grep mysql
~~~
显示结果如下:
![](https://box.kancloud.cn/0067cac299738b4dff72dfc2fb4c22ee_1009x276.png)
以上显示结果说明,已经生效,但是并没有所需要的5.6版本
接下来,查看一下安装的仓库中是不是有5.6版本的
~~~
yum repolist all |mysql
~~~
显示结果如下:
![](https://box.kancloud.cn/ffd470c2ae75ca8a308ef2773944a7d0_1194x724.png)
以上显示结果说明,5.6版本的仓库没有开启,通过编库yum源开启5.6版本的仓库即可。
编辑 `vim /etc/yum.repos.d/mysql-community.repo`,只需要把 enabled=1即可
~~~
Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
~~~
![](https://box.kancloud.cn/be53fa7be59be3d092fda0d56ee3372c_1022x329.png)
通过上面的设置后,就可以正常安装mysql5.6了
### 4. 安装mysql5.6
~~~
yum install mysql-community-server
#安装后,启动mysql
service mysqld start
~~~
在启动mysqld时可能会启动失败,出现如下错误提示:
![](https://box.kancloud.cn/6c62779135ba11e73cc543fdd31b54ea_1067x103.png)
如果直接输入 执行 mysql 会提示:这个提示是说明没有启动mysql服务
![](https://box.kancloud.cn/2a1760cc2346a292a6d892844e2c8a87_1256x102.png)
【解决办法】删除 /var/lib/mysql/*即可
~~~
rm -fr /var/lib/mysql/*
~~~
然后即可启动mysql。
mysql初始化以及root 密码的设置等都和之前的设置方式一致。
#### 注意
如果安装的是5.7以上版本时,mysql的默认密码不是为空的,所以直接使用mysql 是不能登录mysql的,而是会提示如下错误!
![](https://box.kancloud.cn/0cf7ab30ff621615ee39da84eb2a2de1_1255x129.png)
### 解决办法:
停止mysql
~~~
service mysqld stop
~~~
或者
~~~
killall mysqld
~~~
启动mysql,并加入 --skip-grant-tables参数,绕过授权表,直接登录mysql
~~~
mysqld_safe --skip-grant-tables
~~~
接下来输入mysql即可直接登录mysql
~~~
mysql
#此时可以直接进入mysql
mysql>
~~~
为root设置密码
~~~
mysql>use mysql;
#如果是5.7以前版本,使用下面命令修改密码
mysql>update user set password=password('new password') where user='username';
#如果是5.7之后版本,使用下面命令修改密码
mysql> UPDATE user SET authentication_string=PASSWORD("new password") WHERE user='username';
~~~
刷新权限表,并退出mysql
~~~
mysql>FLUSH PRIVILEGES;#刷新权限
mysql>quit;# 退出mysql
~~~
再登录录即可以使用密码正常登录mysql
但是登录之后,你可能会发现,无论执行什么操作都会提示如下错误
~~~
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
~~~
![](https://box.kancloud.cn/6775278e54962c2fdaba874e5a5342a9_1212x97.png)
#### 解决办法
重新绕过权限表,登录mysql
登录之后执行如下命令:
~~~
mysql>set password =password('123456');
~~~
到这里可能会提示如下错误
~~~
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
~~~
![](https://box.kancloud.cn/9ecea3333250aa158e8062d6d2f4cf9b_1223x105.png)
刷新权限后,再次执行
~~~
mysql>set password =password('123456');
mysql>FLUSH PRIVILEGES;#刷新权限
mysql>set password =password('123456');
~~~
最后,刷新权限退出即可。
~~~
mysql>FLUSH PRIVILEGES;#刷新权限
mysql>quit;
~~~
- 前言准备
- Linux新服务器的前期配置
- 认识linux下的Web服务器
- Linux的基本配置
- LNMP一键安装包快速部署web服务器
- LAMP服务器环境部署
- LAMP服务器管理
- LNMP服务器环境部署
- LNMP服务器管理
- lnmp一键安装包-常见问题
- 使用包管理器快速部署环境
- 包管理器快速部署LAMP服务器环境
- 升级php和mysql版本
- 包管理器快速部署LNMP服务器环境
- 使用源码包部署Linux服务器web环境
- 编译LAMP服务器环境部署
- apache安装与配置
- mysql的安装与配置
- PHP的安装与配置
- 编译LNMP服务器环境部署
- nginx服务启动脚本
- 源码安装常见问题
- Centos6与Centos7的区别
- 默认控制系统服务工具不同
- 设置开机启动的方式不同
- 编写service启动脚本
- 编写systemctl启动脚本
- 服务器安全
- 隐藏服务器信息
- Linux服务器防火墙设置
- 防火墙设置脚本
- 邮件发送
- 任务脚本的编写
- 服务器磁盘和服务器健康状态脚本
- 服务器登录报警脚本
- 数据库备份脚本
- 定时任务及应用
- 常见问题
- linux中使用ping命令不同的问题
- Linux中无法发送邮件
- mailx通过ssl方式发送邮件
- Mysql配置文件
- Linux TCP/UDP 常用端口
- Linux常见命令
- 系统信息
- 关机 (系统的关机、重启以及登出 )
- 文件和目录
- 文件搜索
- 挂载一个文件系统
- 磁盘空间
- 用户和群组
- 文件的权限
- 文件的特殊属性
- 打包和压缩文件
- RPM包
- YUM软件包升级器
- DEB 包 (Debian, Ubuntu 以及类似系统)
- APT 软件工具 (Debian, Ubuntu 以及类似系统)
- 查看文件内容
- 文本处理
- 字符设置和文件格式转换
- 文件系统分析
- 初始化一个文件系统
- SWAP文件系统
- 备份
- 光盘
- 网络-(以太网和WIFI无线)
- vi命令
- cut命令 截取
- Mysql
- MySQL备份-增量备与恢复命令实战
- mysqlbinlog
- mysql的安装
- 卸载mysql
- mysql多实例安装
- mysql 常用基础命令操作
- linux安装jdk、rpm安装mysql
- linux制作本地yum源
- shell脚本