1.解壓安裝包(mysql-5.7.17-winx64)
2.在解壓目錄下創建my.ini
[client]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
# 設置3306端口
port=3306
character_set_server=utf8
# 解壓目錄
basedir=D:\lib\mysql
# 解壓目錄下data目錄
datadir=D:\lib\mysql\data
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
D:\lib\mysql\bin\mysqld.exe
4.安裝MYSQL
(1)在解壓目錄的\bin下,用管理員權限打開cmd然後右擊鼠標打開命令窗口
(2)執行命令初始化數據庫
mysqld -install
mysqld --initialize --console
“mysqld --initialize --console”命令,可以得到mysql的初始密碼,用mysqld --initialize 的目的是初始化data目錄。要不然mysql5.7的解壓文件夾下面不會出現data文件夾
比如本文中的初始密碼爲.ak8%if5#nzJ
- 接着就是在輸入net start mysql啓動服務
- 開始使用mysql,輸入命令:mysql -uroot -p,然後輸入剛纔的初始密碼
- 修改密碼
舊版mysql:update user set authentication_string=password('新密碼') where user='用戶名'
新版mysql:alter user 'root'@'localhost' identified by '新密碼'; flush privileges;
- 使用quit退出
- 輸入命令:mysql -uroot -p,然後嘗試新密碼
如果使用初始密碼不能登錄進去修改密碼
解決方法:mysql免密登錄和修改密碼
(1)停止mysql服務
windows: net stop mysql
linux(rpm): service mysql stop
mac: 系統偏好設置 -> 點開底部mysql -> stop mysql server
(2)跳過密碼驗證
由於mysqld –skip-grant-tables實測在mysql8.0中已失效,現使用mysqld --console --skip-grant-tables --shared-memory
再從新打開一個cmd窗口
(3)登錄數據庫
命令行輸入mysql即可無密碼進入數據庫
(4)使用mysql數據庫
use mysql;
show tables;
(5)更新用戶密碼
舊版mysql:update user set authentication_string=password('新密碼') where user='用戶名'
新版mysql:alter user 'root'@'localhost' identified by '新密碼';
(6)刷新權限
flush privileges
(7)退出數據庫
quit / exit
(8)刪除配置文件中新添加的skip-grant-tables
(9)重啓mysql服務
windows: net stop mysql net start mysql
linux: service mysql restart
mac: 系統偏好設置 -> 點擊最下面的mysql -> 先關閉服務,再開始服務
如果啓動不了,把阻塞的cmd窗口關閉,在啓動
(10)使用用戶名登錄數據庫
mysql -u 用戶名 -p
附:如果想要免密登錄數據庫,把密碼設置爲空即可
使用service命令的前提是必須使用rpm安裝mysql