現在大家的程式服務基本都是部署在雲伺服器上,今天我分享記錄一下:使用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