天天看點

Ubuntu18.04.1安裝Mariadb并使用python連接配接資料庫

安裝Mariadb

sudo apt-get install python-pip python-dev libmysqlclient-dev
pip install MySQL-python
           

第二句pip install MySQL-python可能會報錯找不到該子產品 報錯的話就換成

pip install mysql
           

配置密碼

sudo mysql_secure_installation
           

登入

mysql -u root -p
           

寫一個簡單的python腳本測試能不能正常連接配接

import MySQLdb

# Open database connection
conn = MySQLdb.connect(host='127.0.0.1'  
                       ,user='root'  
                       ,passwd='你的root密碼'  
                       ,db='mysql')  

# prepare a cursor object using cursor() method
cursor = conn.cursor()

# execute SQL query using execute() method.
cursor.execute("SELECT VERSION()")

# Fetch a single row using fetchone() method.
data = cursor.fetchone()
print("Database version : %s " % data)

# disconnect from server
conn.close()
           

報錯了

這時我發現我可以在終端輸入mysql 而不用密碼就可以登入資料庫。。

解決辦法

sudo vim /etc/mysql/debian.cnf
           

把裡面的password設定成剛剛設定的密碼

use mysql;
update mysql.user set plugin='mysql_native_password' where User='root';
flush privileges;
           

其中use mysql是使用自帶的mysql資料庫

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| forest_insect      |
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)
           

執行完之後再執行python腳本輸出:

[email protected]:/opt# python testsql.py
Database version : 10.1.47-MariaDB-0ubuntu0.18.04.1