今天部署MySQL環境,記錄一下過程和遇到的問題:
1、在官網下載解壓版安裝文件mysql-5.7.17-winx64.zip
2、解壓相關文件至D:/MYSQL目錄下
3、添加D:/MYSQL/mysql-5.7.17-winx64至環境變量PATH中
4、修改D:/MYSQL/mysql-5.7.17-winx64/my-default.ini
basedir=D:/MYSQL/mysql-5.7.17-winx64(mysql所在目錄) datadir=D:/MYSQL/mysql-5.7.17-winx64/data (mysql所在目錄/data)
port=3306
注意要把默認前面帶的#去掉。
5、以管理員身份運行cmd
輸入:cd D:/MYSQL/mysql-5.7.17-winx64/bin 進入mysql的bin文件夾輸入:mysqld -install
6、安裝成功后,啟動服務,cmd繼續輸入:net start mysql
結果報錯,mysql net helpmsg 3534。
上網搜索了一下解決辦法,成功解決的是:創建D:/MYSQL/mysql-5.7.17-winx64/data文件夾,cmd命令行運行mysqld --initialize(需清空D:/MYSQL/mysql-5.7.17-winx64/data文件夾下的文件)。
再次啟動服務就好了。
7、修改root密碼
免密登錄mysql,在cmd命令行輸入mysql -u root -p,提示輸入密碼,直接回車,報錯
# mysql -u root -p
Enter passWord:
ERROR 1045 (28000): access denied for user 'root'@'localhost' (using password: NO)
嘗試mysqladmin -u root -p password 'newpasswd',以及mysqld_safe --user=mysql --skip-grant-tables,均不行。成功的方法為:
(1)復制my-default.ini為my.ini,在my.ini文件里的[mysqld]下另起一行,添加skip-grant-tables,保存。
(2)關閉mysql服務:net stop mysql,再啟動:net start mysql。
(3)mysql -u root -p可以免密登錄了
(4)mysql> use mysql;(5)mysql> update mysql.user set authentication_string=password("newpasswd") where user="root";
注意:用很多帖子里說的 update user set password=password("newpasswd") where user="root"; 不可以了,因為用select * from user;可以看到,沒有password這個字段了,是authentication_string字段了。
密碼更新成功。
(6)如果要去掉密登錄的功能,刪除my.ini里的skip-grant-tables,再重新關閉和啟動mysql服務就可以了(用mysqld restart不行)。
新聞熱點
疑難解答