環境:ubuntu16.4
mysql版本5.7.19
1.基本操作
啟動mysql: mysql -u[user] -p 然後會要求輸入 密碼
重啟:sudo service my
2.使用者無法通過ssh遠端訪問
先用root執行mysql -uroot -p,啟動mysql
然後再mysql介面下執行grant all privileges on *.* to yszhu@"%" identified by "12345678" with grant option
設定yszhu使用者遠端訪問mysql的許可權,密碼為12345678
3.mysql.sock找不到
查詢.sock檔案。通過/etc/mysql/mysql.conf.d/mysqld.cnf,找到mysqld.sock檔案所在/var/run/mysqld/mysqld.sock
,實現用pymysql連線。書上寫的是mysql.sock,但是伺服器上的名字是mysqld.sock,可能版本不一樣。
4.設定mysql字符集
mysql> show variables like '%char%';檢視預設的各種字符集然後用/etc/mysql目錄下看到my.cnf,網路上很多說是在這個檔案裡新增內容,但是我在winscp上看到這個檔案感覺是快捷方式。開啟看一下檔案,顯示:!includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/
估計是先讀取第一行的檔案,然後讀取第二行檔案的意思,所以找到第一行的codf.d資料夾,找到mysql.cnf檔案,開啟一看,裡面只有
[mysql]一行,沒有其他內容,於是按照網路上找到的資料將整個檔案修改為:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='set names utf8'
character-set-server = utf8
儲存檔案,重啟mysql,然後mysql> show variables like '%char%',發現字符集改變了。成功。
5.資料寫入報錯
建立table,插入漢字,報錯incorrect string value,大概是編碼問題。
mysql> alter table onlinetest convert to character set utf8;將table編碼噶為utf8就可以了
6.pymysql寫入mysql的資料都帶有引號,在資料庫操作中很不方便。
update [table] set title=replace(title,'\'',''); title表示要操作的字段
MySQL學習與遇到的坑
最近之前的專案交維,需要對之前開發的系統進行許可權整理以及許可權控制,專案之前的需求有乙個利用mysql的federated引擎實現資料庫表對映,原理是在本地建立檢視,在通過在遠端的資料庫連線這個檢視。備註 設想是新建使用者用來遠端訪問我們的檢視 新使用者只給查詢許可權 root賬號建立檢視,當時r...
ubuntu 安裝mysql遇到的坑
環境 ubuntu 20.04 基本安裝命令 sudo apt get install mysql server mysql client 1.安裝不成功 sudo apt get upgrade 2.安裝成功後無法使用 解決方案 刪除重灌 刪除mysql的資料檔案 sudo rm var lib ...
記錄下安裝mysql遇到的坑
參考資料 轉而複製dll檔案到c windows system32目錄下,再次執行 雖然還是錯誤提示,但好歹已經能成功載入了。試了一下mysqld指令也能成功執行。輸入cmd指令啟動服務 參考資料 出錯原因在於安裝的mysql版本為5.7.21。而安裝成參考的文件是5.6的。5.7版本的根目錄下沒有...