phpstudy中本地mysql数据库升级
phpstudy是一个为php开发者提供的集成环境,主要集成了php,mysql,nginx以及apache等程序,避免了一些初级开发者一开始的程序安装问题,实现一键安装,马上开发。今天主要是讲讲phpstudy中集成的mysql版本问题,一般安装的mysql都不是最新版本,当你想使用最新的mysql特性,就没法做到兼容,所以你就很必要升级你的mysql数据库,今天自己刚好做到这个,就和大家一起分享一下, 顺便做下笔记:
1.先从mysql官网上下载windows的免安装版本。
最新下载地址是:mysql下载地址
2.备份目前mysql的数据,以防数据库丢失
3.可将当前的MySQL文件夹改名为当前版本,如MySQL5.6,也方便你后面可以切回去,不影响之前的业务操作。
4.将刚下载来的mysql-5.7.26-winx64解压至phpstudy目录中,重命名为MySQL。
注意:5.7版本解压之后,目录中是没有my.ini配置文件和data文件夹,你需要自定义一个my.ini文件,下面是一个简单的模板
[client]
port=3306
[mysql]
default-character-set=utf8mb4
[mysqld]
port=3306
# 下面两项basedir和datadir根据你的目录来
basedir="D:/phpStudy/PHPTutorial/MySQL/"
datadir="D:/phpStudy/PHPTutorial/MySQL/data/"
# 编码和引擎各位就怎么开心怎么来
character-set-server=utf8mb4
default-storage-engine=INNODB
# explicit_defaults_for_timestamp 关闭了 timestamp 类型字段锁拥有的一些会让人感到奇怪的默认行为,加入了该参数之后,如果还需要为 timestamp类型的字段指定默认行为,那么就需要显示的在创建表时显示的指定。没有这一行在初始化的时候会报下面这个警告
# TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
explicit_defaults_for_timestamp=true
其中两个目录路径,要根据自身存放位置来写。
5.以管理员身份运行cmd,进入D:/phpStudy/PHPTutorial/MySQL/bin中,执行mysqld --initialize命令
mysqld --initialize (如果之前有安装过mysql,现执行mysqld remove卸掉mysqld)
注意:my.ini文件里面的目录路径和配置一定要写对。
接着再进行mysql安装
mysqld install
安装成功后就可以启动mysql服务,命令行如下:
net start mysql 启动
net stop mysql 关闭
6. 启动完mysql服务后,就可以对mysql进行连接访问,但是现在默认的mysql数据库密码不是root,你需到MySQL/data下找到一个.err扩展名的文件,进入文件找到一串不规则的密码。如图所示。
负责该密码连接mysql,对mysql密码进行修改。
mysql -u root -p 连接数据库
输入密码
>mysql set password=password('root'); // 修改密码
注意数据库中操作必须后面加一个分号 ;
7.到这里 mysql的安装就是基本完成,现在主要是phpstudy的启动mysql有可能失败,你会发现直接命令行启动就可以 但是由phpstudy启动就会失败,这时你需要在MySQL/bin目录下执行一个命令方可解决。
sc delete mysql
删除了mysql服务,留下mysqla服务(这里的具体原因我也还不太清楚,还需要后续研究)。总之,现在就可以通过phpstudy启动mysql
最后每天学习一点点,进步一大点。
参考链接:[https://blog.csdn.net/yt_php/article/details/81302367][a]