MySQL须要升级到5.5.3以上版本才支持Laravel 5.4默认的utf8mb64
字符编码。所以就把MySQL升级了一下,期间仍是遇到些小问题,记录一下以供参考。mysql
备份以前MySql目录下的data
目录(数据库目录)。sql
MySql官网下载MySQL 5.7.17版本压缩包。数据库
管理员身份运行命令行,输入net stop mysql
命令,中止mysql服务。ide
输入sc delete mysql
命令,删除mysql服务。ui
卸载当前版本MySQL。编码
解压MySQL 5.7.17压缩包到对应目录(示例:E:\Software\mysql-5.7.17-winx64
)。命令行
复制my-default.ini
到bin
目录命名为my.ini
(直接复制到根目录有时初始化会报错)。code
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
之上,不然会报错。且上述路径均需改成解压目录。get
管理员身份命令行,进入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
目录,便可使用以前的各数据库。
注:可能因为版本问题,数据不兼容没法使用,须要查看官方文档进行解决。