一.【安裝問題】
安裝新版本之前必須完全卸載老版本MySQL
-
1.cmd中輸入
sc delete mysql
;或者控制面板中卸載mysql; -
2.regedit刪除三項MySQL的項:
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/MySQL -
3.手動刪除C盤下mysql根目錄。
【8.0.12】
1.安裝后bin目錄下無法找到my.ini
【5.6.41】
2.安裝后bin目錄下只有my-default.ini,無my.ini
可以拷貝一個my-default.ini修改成my.ini
然后在my.ini里面的[mysqld]下面加:character-set-server=utf8
注意:原文件my-default.ini不要動,不然重新啟動mysql會報系統錯誤
二.【配置問題】
1.啟動:
- cmd - (mysql的bin目錄下) - “
mysql -u root -p
” - 輸入密碼
- 啟動成功
- 每一行開頭都出現出現"
mysql>
"
2.查看當前用戶:
- mysql>
select user();
(注意都要以Semicolon結尾)
+---------------------+
| user( ) |
+---------------------+
| root@localhost | (←當前用戶)
+---------------------+
3.更改用戶名
- 第1行:mysql>
use mysql
- 第2行:mysql>
update user set user="chiu" where user="root";
(把原名root改成chiu) - 操作成功:"
Query OK
"
4.查看當前系統中的用戶名單:
- mysql>
select user,host from mysql.user;
+-------------------+ ----------------+
| user |host |
+-------------------+ ----------------+
| chiu |localhost |
| mysql.infoschema |localhost |
| mysql.session |localhost |
| mysql.sys |localhost |
+-------------------+ ----------------+
除了你的默認root,還多出mysql.session 和 mysql.sys兩個用戶。這兩個不要管他,是MySQL 5.7 新增默認賬號,這兩個用戶別亂動。
mysql.sys
:用於 sys schema中對象的定義。使用 mysql.sys 用戶可避免DBA重命名或者刪除root用戶時發生的問題。該用戶已被鎖定,客戶端無法連接。mysql.sessio
:插件內部使用來訪問服務器。該用戶已被鎖定,客戶端無法連接。
5.cmd中輸入net start mysql 提示:服務名無效 請鍵入NET HELPING 2185以獲得更多的幫助
net start mysql
是DOS中啟動mysql的命令符;net stop mysql
指關閉;
進入MySQL的bin目錄,並在bin目錄打開命令行窗口,在命令行窗口輸入:mysqld --install
,回車,提示:Service successfully installed
。表示安裝MySQL服務成功,命令行窗口輸入:net start mysql
,可以正常啟動。
6.忘記密碼/密碼錯誤如何處理
- 修改MySQL的登錄設置: 在my.ini中找到[mysqld],在下行添加一句:
skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
- 關閉正在運行的MySQL服務。
net stop mysql
- 轉到mysql\bin目錄,輸入
mysqld --skip-grant-tables
回車。此段代碼啟動MySQL服務的時候跳過權限表認證 - 這時次DOS窗口已經不能動了,也不能關閉。新開一個DOS窗口,轉至bin目錄下
- 輸入
mysql
回車,若成功,將出現mysql >
- 鏈接權限數據庫:
use mysql;
- 改密碼:
update user set password=password("新密碼") where user="root";
(別忘了最后的分號) - 刷新權限(必須步驟):
flush privileges;
- 退出
quit
- 將my.ini中
skip-grant-tables
語句刪除 - 注銷系統,講再進入DOS,
net start mysql
,net mysql -uroot -padmin
可以登錄。
7.創建新用戶@localhost
- mysql>
create user 'test'@'localhost' identified by '123456';
- 刷新權限(必須步驟):
flush privileges;
8.刪除匿名用戶
+-------------------+ ----------------+
| user |host |
+-------------------+ ----------------+
| chiu |localhost |
| |localhost | (此行用戶名空缺,為匿名用戶)
| mysql.session |localhost |
+-------------------+ ----------------+
- mysql>
delete from mysql.user where user=' ';
9.創建新的Database
mysql> CREATE DATABASE`項目名`
(此處單引號實際應為半角,且是鍵盤"1"左側這個)DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- 給本地用戶賦予所有權限
- mysql>
grant all privileges on 項目名.* to 用戶@localhost identified by '1234'
- ->
;
- 給賬號開通外網所有權限
grant all privileges on 項目名.* to 項目名 @'%' identified by '密碼';
(@’%’ 指不限制IP開通所有權限)
10.查看Database
mysql> show databases
-> ;
- 用select database()語句查看當前Database
- mysql>
select database();
三.【Navicat】
1.下載:
- https://www.cnblogs.com/kaige123/p/5843793.html
- 細節補充:講PatchNavicat.exe雙擊后,選擇用Navicat客戶端打開,才能破解成功。
2.新建項目注意事項
- 先點擊“鏈接測試”(Test Connection),顯示連接成功后再點擊“確定”
- 此圖左側Database欄的"mmall"在Mysql的Dos操作中已被添加,並被本地用戶賦予權限、開通了外網所有權限;並非在Navicat中手動添加。
- mmall - 表(table) - 右擊新建table
- New table 列表中輸入名:A - 保存,輸入table名:tabletest
- 返回mysql DOS
- mysql>
use mmall;
- mysql >
show tables;
+-------------------+
| Table in mmall |
+-------------------+
| tabletest |
+-------------------+
參考博客:
1.https://blog.csdn.net/glory_zhu/article/details/41596337
2.https://blog.csdn.net/qq_31832209/article/details/78424260
3.https://www.cnblogs.com/kaige123/p/5843793.html