MySQL需要升级到5.5.3以上版本才支持Laravel 5.4默认的utf8mb64字符编码。因此就把MySQL升级了一下,期间还是遇到些小问题,记录一下以供参考。
升级准备
- 备份之前MySql目录下的data目录(数据库目录)。
- MySql官网下载MySQL 5.7.17版本压缩包。
- 管理员身份运行命令行,输入net stop mysql命令,停止mysql服务。
- 输入sc delete mysql命令,删除mysql服务。
- 卸载当前版本MySQL。
开始升级
解压MySQL 5.7.17压缩包到对应目录(示例:E:\Software\mysql-5.7.17-winx64)。
配置
复制my-default.ini到bin目录命名为my.ini(直接复制到根目录有时初始化会报错)。
my.ini文件添加如下内容:
[mysqld]
basedir = E:\Software\mysql-5.7.17-winx64
datadir = E:\Software\mysql-5.7.17-winx64\data
port = 3306
default-character-set = utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLadmin]
Server = E:\Software\mysql-5.7.17-winx64\bin\mysqld.exe
user = root
password =
[client]
default-character-set = utf8
注:sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES应放在[WinMySQLadmin]和client之上,否则会报错。且上述路径均需改为解压目录。
安装服务
- 管理员身份命令行,进入bin目录,输入mysqld --initialize命令,初始化话MySQL。
- 输入mysqld --install命令,安装MySQL服务。
- 输入net start msyql命令,启动M有SQL服务。
- 输入mysql -h localhost -u root -p命令,登录MySQL。
此时要求输入密码,MySQL 5.7.17初始化话是创建了临时密码,在data目录下以管理员名称命名的err文件打开后,查看第一个Note,可以找到临时密码。
2017-02-12T07:22:42.516404Z 1 [Note] A temporary password is generated for root@localhost: RqfpPhxhJ0%a
- 进入MySQL后,输入alter user 'root'@'localhost' identified by '新密码';设置密码。
- 输入flush privileges;刷新。
- 输入quit;退出,之后就可使用新密码登录MySQL。
导入数据
打开之前备份的data目录,复制各数据库目录到新版MySQL的data目录,即可使用之前的各数据库。
注:可能由于版本问题,数据不兼容无法使用,需要查看官方文档进行解决。
以上所述是小编给大家介绍的Windows(x86,64bit)升级MySQL 5.7.17免安装版的详细教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!