概述:在學習python web的時候數據庫和python的連接是一個很重要的地方,但是在windows安裝mariadb的時候遇到了一些問題,最終選擇遠程連接紅帽上的數據庫,發現這樣也十分方便,在使用過程中還遇到了諸如中文無法寫入數據庫的問題,這里進行一下總結。
1.python連接mariadb
mariadb本來就是MySQL的一個分支,所以基本方法和mysql連接python是一樣的,由于使用的是pycharm,本以為import mysql發現紅色下劃線后直接輸入alt+enter就能自己用pip下載好,結果發現不是,pip安裝的時候會報出一個vc9的錯誤,經過百度,發現需要下載python-mysql的支持包,下載地址:python-mysql-connector。

下載后直接安裝,之后在pycharm中import mysql即可使用了。
2.mariadb如何允許非本機連接
[root@localhost ~]# mysql -uroot -pEnter passWord: 登陸數據庫MariaDB [(none)]> grant all PRivileges on *.* to 'root'@'192.168.1.104' identified by 'redhat';輸入如上語句,即開放了192.168.1.104ip所對應的主機對該數據庫的訪問權限,當然實際中肯定不會將root用戶的全部權限釋放個一個固定ip,這里只是在內網的一個簡單測試。3.mariadb如何插入中文
我數據庫的所在的操作系統是:
Red Hat Enterprise linux Server release 7.1 (Maipo)需要修改如下文件,即可對數據庫插入中文,原理上就是讓客戶端,服務端的字符集都變成utf-8即可。/etc/my.cnf
[mysqld]init_connect='SET NAMES utf8'character-set-server=utf8/etc/my.cnf.d/mysql-clients.cnf[mysql]default-character-set=utf8/etc/my.cnf.d/client.cnf[client]default-character-set=utf8將這三處修改之后,重啟數據庫服務,在這之后創建的數據庫(create database *)都可以插入中文啦,但是之前的數據庫如果也想支持,需要進行一點修改,如下ALTER DATABASE `databases_name` COLLATE 'utf8_bin';如果這樣設置之后,您的數據庫還是不可以插入中文,那就要考慮下其他的編碼,比如終端的編碼,我使用的是xshell終端編碼如下
新聞熱點
疑難解答