文章目录
- 前言
- 一、ubuntu20.4安装mariadb10.5
- 1、更换数据源
- 2、安装mariadb
- 3、设置密码
- 4、设置管理用户
- 5、设置远程登录
- 6、修改端口
- 二、mariadb10.5建库建表
- 创建数据库
- 2.建表
- 三、Python代码及环境准备
- 1、Python
- 2、环境
- 四、总结
- 五、参考资料
前言
环境:
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'
更换数据源为清华源,如果在执行第一句命令时报错时,可执行sudo apt update进行更新。
2、安装mariadb
sudo apt update
sudo apt -y install mariadb-server
# 安装完成 默认自启动
# 如果没有 请用如下 查看
sudo systemctl status mariadb
# 开机自启动
sudo systemctl enable mariadb --now
3、设置密码
sudo mysql_secure_installation
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;
5、设置远程登录
- 修改下面文件:
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
- 把 bind-address=XXX 修改为 如下,表允许所有地址:
bind-address=0.0.0.0
- 重启数据库:
sudo systemctl restart mariadb
6、修改端口
- 修改文件中需要远程连接的端口:
sudo vim /etc/mysql/my.cnf
- 去掉#号的注释,修改端口号:
#port = 3307
- 其他命令:
# 重启
sudo systemctl restart mariadb
# 启动
sudo systemctl start mariadb
# 关闭
sudo systemctl stop mariadb
# 状态
sudo systemctl status mariadb
二、mariadb10.5建库建表
创建数据库
- 我们通过下面的语句进行对数据库的相关操作:
查询数据库:show databases;(;表示我已输入完成,用在每一次的命令输入完成之后必须加上;)
创建数据库:create database 数据库名称;(一般不用中文)
删除数据库:drop database 数据库名;(不可恢复的)
使用数据库:use 数据库名称;
- 创建成功:
2.建表
注意:在建表之前需要使用下面命令选定数据库。
use 数据库名;
- 建表:
create table test2 (id int,grade int);
- 尝试插入数据:
三、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)
- 效果:
2、环境
- 关闭防火墙:
在开始进行远程连接时,我们需要关闭windows与unbuntu下的防火墙
- unbuntu与windows需处于同一局域网下:
这里可以将虚拟机设置为桥接模式即可。
四、总结
此次的操作并不难,并且Mariadb数据库的操作与mysql的操作基本无异,我们需要注意的就是一定要关闭防火墙和确保windows与虚拟机处于局域网内即可。
五、参考资料
ubuntu20.4安装 mariadb 最新版
PYTHON远程连接LINUX系统上的MARIADB数据库