【數據庫】MySQL與Navicat問題匯總


一.【安裝問題】

安裝新版本之前必須完全卸載老版本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 mysqlnet 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.下載

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM