PhpStudy升級MySQL5.5到5.7記錄

1.下載mysql 5.7 https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.25-winx64.zipphp

2.備份目前的數據庫數據,能夠導出數據庫文件,做爲備份。mysql

3.備份 PhpStudy 下的 MySQL 文件夾、以防升級失敗、還可使用舊版本5.5的數據庫。sql

4.將下載的壓縮包解壓到PhpStudy/MYSQL。數據庫

5.新建PhpStudy/MYSQL/my.ini文件(這個壓縮包沒有my.ini須要新建,若是已有,就不用),修改這兩項安全

basedir="D:/phpStudy/MySQL/"服務器

datadir="D:/phpStudy/MySQL/data/"工具

文件配置以下ui

[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8 
[mysqld]
skip-grant-tables
#設置3306端口
port = 3306 
# 設置mysql的安裝目錄
basedir="D:/phpStudy/PHPTutorial/MySQL/"
# 設置mysql數據庫的數據的存放目錄
datadir="D:/phpStudy/PHPTutorial/MySQL/data/"
# 容許最大鏈接數
max_connections=200
# 服務端使用的字符集默認爲8比特編碼的latin1字符集
character-set-server=utf8
# 建立新表時將使用的默認存儲引擎
default-storage-engine=INNODB
default-storage-engine=INNODB
default-storage-engine=INNODB

6.以管理員的身份運行cmd、進入MySQL目錄,運行this

> mysqld --initialize編碼

> mysqld -install

這裏可能出錯:安裝 mysql出現 Install/Remove of the Service Denied!

緣由:命令行沒有以管理員權限打開

解決方法:打開cmd.exe程序的時候選擇「用管理員身份打開」,再運行mysqld install便可,win10打開方法:定位到桌面左下角的搜索按鈕,而後輸入cmd搜索,右鍵-》以管理員身份運行

 

7.啓動mysql服務: D:\phpStudy\PHPTutorial\MYSQL\bin>net start mysql

8.設置密碼    mysqladmin -u root -p password root

點擊enter,再點擊enter。

然而我這邊點 enter 以後是報錯,也登陸不了mysql

怎麼輸密碼都不行

 

9.好事多磨,只能按修改root 密碼的方式從新設置密碼了。

 

10.中止mysql服務net stop mysql

11.my.ini 開啓skip-grant-tables

12.用安全模式打開,mysqld --skip-grant-tables

這個時候,光標會一直閃。注意,不要動,打開另外一個命令行窗口。

13.和前面同樣的操做來到bin目錄下,登陸 mysql -u root -p

密碼爲空,直接回車;就能夠進去了

14.修改root密碼,而後刷新權限,退出,再用密碼登陸,能夠成功登陸。歐耶!

mysql> update mysql.user set authentication_string=password("root") where user="root";

mysql> flush privileges;

mysql> quit;

D:\phpStudy\PHPTutorial\MYSQL\bin>mysql -u root -p

15.但是執行sql語句的時候仍是會報錯,使用phpMyAdmin管理工具也沒法登陸,顯示錯誤:#1862 沒法登陸 MySQL 服務器

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

16.登陸mysql -》執行sql 查看

D:\phpStudy\PHPTutorial\MYSQL\bin>mysql -u root -p

mysql> select 1;

17.重置mysql 的root 密碼

mysql> set password = password('root');

mysql> alter user 'root'@'localhost' password expire never;

mysql> flush privileges;

mysql> quit;

18.搞定,收工,吹牛逼,註釋my.ini的skip-grant-tables。

相關文章
相關標籤/搜索