現在大家的程式服務基本都是部署在雲伺服器上,今天我分享記錄一下:使用mysql資料庫過程中比較常見操作和遇到的問題

環境:lunix 系統(阿里雲伺服器,華為雲伺服器,騰訊雲等均適用) + mysql5.7
  • mysql 命令列基本操作
    1. mysql> create database 資料庫名稱;  # 建立資料庫
    2. mysql> show databases; # 展示所有的資料庫
    3. mysql> use 庫名稱; # 選擇一個數據庫
    4. mysql> show tables; # 展示所有的表
    5. mysql> CREATE DATABASE course_data CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; # 建立資料庫並指定字符集
    6. mysql> drop database 資料庫名稱; # 刪除資料庫
    7. mysql> show variables like '%char%'; # 檢視資料庫字符集 及其資訊
    8. mysql> alter database 資料庫名稱 character set utf8mb4; # 設定資料庫字符集
    9. mysql> source sql檔案的路徑 # 執行sql檔案
    10.mysql> rename table 原來的表名稱 to 改後的表名稱; # 修改表的名稱
    11.mysql> desc tabl_name; # 顯示錶結構
    12.mysql> alter table t1 charset=utf8mb4; #修改編碼格式
    13.mysql> show create table 名稱; # 查看錶的結構
    14.mysql> exit; # 退出
    15.mysql> flush privileges; # 重新整理許可權 給使用者賦予許可權後必須執行這個命令
  • mysql安裝完畢後我們要遠端連線要怎麼操作呢?
    1. mysql> create user '使用者名稱'@'ip' identified by '密碼'; # 建立使用者
    2. mysql> grant all on *.* to '使用者名稱'@'ip'; # 賦予許可權
    # *.* 代表所有庫表許可權

    注:ip是你那個主機要連線這個mysql服務的就寫這個主機ip

    也可以直接寫localhost下一步使用sql改也沒問題

    修改的sql:

    update user set host="ip" where user="你剛建立的使用者名稱"

    以上所有提到的ip都可以使用 % 代替,表示所有的ip允許訪問

  • 遠端連線不成功(遇到的問題)
    1.然後在Windows環境下通過Navicat來連線時,出現報錯:1045 Access denied for user '使用者名稱'@'XXX' (using password: YES)
    解決方法:檢視mysql庫中的user表的host欄位
    (1)use mysql;
    (2)select user,host from user;
    # 看一下你連線的使用者名稱對應的host欄位是不是你window是的ip,或者 %,如果不是,必須修改。
    (3)修改:update user set host="%"(你需要的ip) where user="使用者名稱"
    (4)不要忘記執行:flush privileges; # 不然還需要重啟mysql
    2. 主機對外的埠沒有開啟
    mysql:ERROR 2003 (HY000) 110(連線超時)
    解決方法:雲伺服器需要在管理後臺配置安全組策略開放資料庫對應的埠號。還可能是防火牆阻止。
    3.連線不成功還可以再檢查一下mysql配置檔案(/etc/my.cnf)
    裡邊有 blind-address 修改這鍵的值
    例:blind-address=0.0.0.0或者是127.0.0.1或者直接註釋掉然後重啟mysql