1. 安装
CentOS 7
- sudo yum install mariadb mariadb-server # 安装
- sudo systemctl start mariadb # 启动mariadb
- sudo systemctl enable mariadb # 设置开机自启动
- sudo mysql_secure_installation # 设置root密码等相关(初始密码为None,重新设置为123456)
- mysql -uroot -p # 测试登录
Debian 11
- sudo apt-get install mariadb-server mariadb-client # 安装
- sudo service mariadb start # 启动mariadb
- sudo service mariadb enable # 设置开机自启动
- sudo mysql_secure_installation # 设置root密码等相关(初始密码为None,重新设置为123456)
- mysql -uroot -p # 测试登录
Ubuntu
- sudo apt-get install mariadb-server mariadb-client # 安装
- sudo service mysql start # 启动mariadb
- sudo service mysql enable # 设置开机自启动
- sudo mysql_secure_installation # 设置root密码等相关(初始密码为None,重新设置为123456)
- mysql -uroot -p # 测试登录
Ubuntu可能出现连接不上mysql的问题,具体解决方法见:https://blog.csdn.net/jlu16/article/details/82809937
docker mysql数据迁移:https://blog.csdn.net/qq_38393271/article/details/124959859
2. 新建数据库以及表
CREATE DATABASE official_document;(注意,数据库名称不区分大小写)
USE official_document;
# 行政公文通
CREATE TABLE administration(
pid INT NOT NULL AUTO_INCREMENT, # 主键 自动增量
department VARCHAR(30) NOT NULL, # 30表示最多插入30个中文,多的截断
news_time DATE NOT NULL,
src VARCHAR(300) NOT NULL,
title VARCHAR(300) NOT NULL,
content VARCHAR(20000),
PRIMARY KEY ( pid )
)engine=innoDB default charset=utf8; # 设置编码格式为“utf-8”以支持中文
3. python连接数据库并插入数据
- 安装pymysql,然后
import pymysql
# 打开数据库连接,注意passwd只接收str,‘123456’
db = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd='***', db="official_document", charset='utf8')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 插入数据
department, news_time, src, title, content = '*', '*', '*', '*', '*', '*'
sql = "INSERT INTO administration(department, news_time, src, title, content) VALUES('%s', '%s', '%s', '%s', '%s')" \
% (department, news_time, src, title, content)
try:
# 执行sql语句
cursor.execute(sql)
# 执行sql语句
db.commit()
except Exception as e:
logger.error(e)
# 发生错误时回滚
db.rollback()