亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

PostgreSQL

  • 安裝并初始化PostgreSQL

安裝postgresql-server

yum install postgresql-server postgresql-contrib

檢查安裝所在路勁

[root@172-12-0-100 ~]# rpm -ql postgresql-server | grep setup
/usr/bin/postgresql-setup

初始化數據庫

postgresql-setup initdb

開啟服務并設置為自啟動

systemctl start postgresql
systemctl enable postgresql

查看當前版本并修改用戶密碼

[root@172-12-0-100 share]# psql --version
psql (PostgreSQL) 9.2.24
[root@172-12-0-100 share]# su - postgres
-bash-4.2$ psql -U postgres
psql (9.2.24)
Type "help" for help.
postgres=# ALTER USER postgres WITH PASSword '123456';
postgres-#
postgres-# q
-bash-4.2$

開啟遠程訪問

缺省時,postgresql只接受主機本身發起的連接

[root@172-12-0-100 data]# netstat -anlp | grep 5432
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 20737/postgres
tcp6 0 0 ::1:5432 :::* LISTEN 20737/postgres

修改監聽地址

vim /var/lib/pgsql/data/postgresql.conf
修改#listen_addresses = 'localhost' 為 listen_addresses='*'

 

配置文件的路徑可通過如下方式查找

CentOS常用數據庫安裝和python使用(MySQL, PostgreSQL)

 

 

配置信任連接

vim /var/lib/pgsql/data/pg_hba.conf

 

CentOS常用數據庫安裝和python使用(MySQL, PostgreSQL)

 

重啟服務

systemctl restart postgresql

檢查接口監聽情況

CentOS常用數據庫安裝和python使用(MySQL, PostgreSQL)

 

設置防火墻,允許用戶連接

firewall-cmd --permanent --add-port=5432/tcp
firewall-cmd –reload

 

創建新用戶和測試用數據庫

[root@172-12-0-100 share]# su - postgres
-bash-4.2$ psql -U postgres
psql (9.2.24)
Type "help" for help.
postgres=#

創建用戶:

postgres=# create user admin with password '12345678';
CREATE ROLE

 

創建測試用數據庫并指定擁有者,將數據庫所有權限賦予該擁有者

postgres=# create database testdb owner admin;
CREATE DATABASE
postgres=#
postgres=# grant all on database testdb to admin;
GRANT

查看數據庫(l)

CentOS常用數據庫安裝和python使用(MySQL, PostgreSQL)

 

退出(q)

postgres=# q

-bash-4.2$ exit

Logout

 

使用Python嘗試遠程連接postgresql

Python連接postgresql時,需要先安裝psycopg2

pip install psycopg2

寫一個python腳本測試數據庫的連接情況

## 導入psycopg2包
import psycopg2
## 連接到一個給定的數據庫
conn = psycopg2.connect(database="testdb", user="admin",
 password="12345678", host="10.10.11.250", port="5432")
## 建立游標,用來執行數據庫操作
cursor = conn.cursor()
## 執行SQL命令
cursor.execute("CREATE TABLE test_conn(id int, name text, addr text)")
cursor.execute("INSERT INTO test_conn values(1,'Moses','Egypt')")
cursor.execute("INSERT INTO test_conn values(2,'Joshua','Israel')")
## 提交SQL命令
conn.commit()
## 執行SQL SELECT命令
cursor.execute("select * from test_conn")
## 獲取SELECT返回的元組
rows = cursor.fetchall()
for row in rows:
 print('id = ',row[0], 'name = ', row[1], 'addr = ', row[2], 'n')
## 關閉游標
cursor.close()
## 關閉數據庫連接
conn.close()

 

MySQL

安裝并初始化mysql數據庫

當使用yum install mysql時,會直接安裝MariaDB。MySQL先后被Sun, Oracle收購, MySQL之父的Michael以他女兒Maria的名字開始了MySQL的另外一個衍生版本:MariaDB.

yum install mariadb-server

查看服務啟動情況和端口監聽情況

systemctl status mariadb

CentOS常用數據庫安裝和python使用(MySQL, PostgreSQL)

 

監聽端口

CentOS常用數據庫安裝和python使用(MySQL, PostgreSQL)

 

也可以通過執行mysql后,通過show global variables like 'port'進行查詢

CentOS常用數據庫安裝和python使用(MySQL, PostgreSQL)

 

修改監聽端口

在配置文件/etc/my.cnf文件中,直接增加一行port=3309,重啟服務,即可將端口由缺省的3306修改為3309

CentOS常用數據庫安裝和python使用(MySQL, PostgreSQL)

 

重新加載服務

systemctl restart mariadb

一些配置說明

[mysqld]
skip-networking=1 #不監聽任何網絡接口(即netstat看不到3306端口)
datadir=/var/lib/mysql #數據庫存放目錄

創建測試數據庫

[root@172-12-0-100 ~]# mysql
MariaDB [(none)]> create database testdb;
--創建可遠程登錄的用戶
create user 'admin'@'%' identified by '12345678';
---授權該用戶對testdb的所有權限
grant select,insert,delete,update,create,drop on testdb.* to 'admin'@'%' identified by '12345678';
flush privileges;--立即啟用修改

如果創建錯了,可刪除該用戶

DROPUSER'username'@'host';

放開防火墻端口:

firewall-cmd --permanent  --add-port=3306/tcp
firewall-cmd --reload

通過python遠程訪問Mysql數據庫

pip install pymysql

腳本示例:

# 導入pymysql模塊
import pymysql
# 連接database
conn = pymysql.connect(host="10.10.11.250", user="admin", password="12345678",database="testdb",charset="utf8")
# 得到一個可以執行SQL語句的光標對象
cursor = conn.cursor()
# 創建表格
sql = """
CREATE TABLE USER1 (
id INT auto_increment PRIMARY KEY ,
name CHAR(10) NOT NULL UNIQUE,
age TINYINT NOT NULL
)ENGINE=innodb DEFAULT CHARSET=utf8;
"""
# 執行SQL語句
cursor.execute(sql)

 
#插入數據
sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"
username = "Moses"
age = 180
# 執行SQL語句
cursor.execute(sql, [username, age])
# 提交事務
conn.commit()
username = "Joshua"
age = 120
cursor.execute(sql, [username, age])
conn.commit()
#查詢數據
sql = "SELECT * from USER1;"
cursor.execute(sql)
results = cursor.fetchall()
print(results)
# 關閉光標對象
cursor.close()
# 關閉數據庫連接
conn.close()

分享到:
標簽:CentOS
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定