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
目錄,便可使用以前的各數據庫。
注:可能因爲版本問題,數據不兼容沒法使用,須要查看官方文檔進行解決。