当前位置:   article > 正文

Python远程连接Ubuntu20.4下的Mariadb数据库进行操作_ubuntu mariadb

ubuntu mariadb


前言

环境:
1、Ubuntu20.4
2、Mariadb
3、python
Mariadb安装:ubuntu20.4安装 mariadb 最新版


一、ubuntu20.4安装mariadb10.5

1、更换数据源

sudo apt-get install software-properties-common
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mirrors.tuna.tsinghua.edu.cn/mariadb/repo/10.5/ubuntu focal main'
  • 1
  • 2
  • 3

更换数据源为清华源,如果在执行第一句命令时报错时,可执行sudo apt update进行更新。

2、安装mariadb

sudo apt update
sudo apt -y install mariadb-server
# 安装完成 默认自启动
# 如果没有 请用如下 查看
sudo systemctl status mariadb
# 开机自启动
sudo systemctl enable mariadb  --now
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3、设置密码

sudo mysql_secure_installation
  • 1

在这里插入图片描述

4、设置管理用户

输入 mysql -u root -p 进入mysql

在这里插入图片描述

# 设置权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
或
GRANT ALL PRIVILEGES on *.* TO 'root'@'%' IDENTIFIED BY '123456' with grant option;

# 设置 密码
SET PASSWORD FOR admin=PASSWORD('123456');
# 应用刷新
flush privileges;
# 退出
exit;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

5、设置远程登录

  • 修改下面文件:
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
  • 1
  • 把 bind-address=XXX 修改为 如下,表允许所有地址:
bind-address=0.0.0.0
  • 1
  • 重启数据库:
sudo systemctl restart mariadb
  • 1

6、修改端口

  • 修改文件中需要远程连接的端口:
sudo vim /etc/mysql/my.cnf
  • 1
  • 去掉#号的注释,修改端口号:
#port                   = 3307
  • 1
  • 其他命令:
# 重启
sudo systemctl restart mariadb
# 启动
sudo systemctl start mariadb
# 关闭
sudo systemctl stop mariadb
# 状态
sudo systemctl status mariadb
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

二、mariadb10.5建库建表

创建数据库

  • 我们通过下面的语句进行对数据库的相关操作:

查询数据库:show databases;(;表示我已输入完成,用在每一次的命令输入完成之后必须加上;)
创建数据库:create database 数据库名称;(一般不用中文)
删除数据库:drop database 数据库名;(不可恢复的)
使用数据库:use 数据库名称;

  • 创建成功:
    在这里插入图片描述

2.建表

注意:在建表之前需要使用下面命令选定数据库。

use 数据库名;
  • 1

在这里插入图片描述

  • 建表:
create table test2 (id int,grade int)
  • 1

在这里插入图片描述

  • 尝试插入数据:
    在这里插入图片描述

三、Python代码及环境准备

1、Python

  • 代码:
import socket
import sys
import struct
import time
import tcp
import threading
import _thread
import pymysql
import pymysql


#连接数据
def MySQLConnect():
    connection = pymysql.connect(
        host='局域网地址',  # IP,MySQL数据库服务器IP地址 后面换成局域网地址
        port=3307,  # 端口,默认3306,可以不输入
        user='root',  # 数据库用户名
        password='123456',  # 数据库登录密码
        database='ks',  # 要连接的数据库
        charset='utf8'  # 字符集,注意不是'utf-8'
    )
    return connection

#插入数据到数据库、增
def AddData(id,grade):
    # 连接数据库
    conn = MySQLConnect()
    # 使用cursor()方法创建一个游标对象cursor
    cursor = conn.cursor()
    # 插入数据库
    sql = "INSERT INTO test2(id,grade) VALUES (%s,%s); "
    # sql = "INSERT INTO distance(id,distance,time) VALUES (%s,%s,%s); "
    # sql = "INSERT INTO user(id,phone,sex,address) VALUES (%s,%s,%s,%s); "
    cursor.execute(sql, [id,grade])
    # 提交事务
    conn.commit()
    # 关闭游标
    cursor.close()
    # 关闭数据库连接
    conn.close()
#删除数据
def DelData():
    # 连接数据库
    conn = MySQLConnect()
    # 使用cursor()方法创建一个游标对象cursor
    cursor = conn.cursor()
    # 读数据库
    cursor.execute('delete from test2 where id = 2')
    # cursor.execute(sql, [num, yb, wd, time])
    # 提交事务
    conn.commit()
    # 关闭游标
    cursor.close()
    # 关闭数据库连接
    conn.close()
#修改数据
def UpData():
    # 连接数据库
    conn = MySQLConnect()
    # 使用cursor()方法创建一个游标对象cursor
    cursor = conn.cursor()
    # 读数据库
    cursor.execute('UPDATE test2 SET grade = 100 WHERE id =3 ')
    # cursor.execute(sql, [num, yb, wd, time])
    # 提交事务
    conn.commit()
    # 关闭游标
    cursor.close()
    # 关闭数据库连接
    conn.close()
#查看数据、查
def ReadData():
    # 连接数据库
    conn = MySQLConnect()
    # 使用cursor()方法创建一个游标对象cursor
    cursor = conn.cursor()
    # 读数据库
    cursor.execute('select * from test2')
    aa = cursor.fetchall()
    print(aa)
    #cursor.execute(sql, [num, yb, wd, time])
    # 提交事务
    conn.commit()
    # 关闭游标
    cursor.close()
    # 关闭数据库连接
    conn.close()

if __name__ == '__main__':

    try:
        # MySQLConnect()
        ReadData()
        AddData(3,64)
        # DelData()
        # UpData()
        ReadData()
        print("连接成功")
    except:
        print("连接失败")
        sys.exit(1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 效果:
    在这里插入图片描述

2、环境

  • 关闭防火墙:

在开始进行远程连接时,我们需要关闭windows与unbuntu下的防火墙

  • unbuntu与windows需处于同一局域网下:

这里可以将虚拟机设置为桥接模式即可。


四、总结

此次的操作并不难,并且Mariadb数据库的操作与mysql的操作基本无异,我们需要注意的就是一定要关闭防火墙和确保windows与虚拟机处于局域网内即可。

五、参考资料

ubuntu20.4安装 mariadb 最新版
PYTHON远程连接LINUX系统上的MARIADB数据库

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/470015
推荐阅读
相关标签
  

闽ICP备14008679号