目录
MySQL安装&初始化&连接
mysql安装
- mysql主要为5和8两个版本, 下载地址
- 下载形式为压缩包的格式, 解压即用
mysql初始化
- 需要预先指定一个配置文件, 后缀名为
.ini
. 配置文件放在安装文件夹下即可,最开始的优先级是C:\Windows\xx.ini
.
[mysqld]
# port
port=3306
# set basedir == installation
basedir=D:\\Program Files\\mysql-5.7.43-winx64
# set datadir
datadir=D:\\Program Files\\mysql-5.7.43-winx64\\data
- 需要指定port, basedir, datadir等内容
- 初始化, 可以先设置环境变量, 然后输入
mysqld --initialize-insecure
, 注意这里cmd需要管理员权限. 这一步会在指定的data里面放一些必备数据, 创建root用户等.
mysql启动
- cmd输入mysqld, 这种启动比较麻烦, 因为每次都要开一次终端
- 把启动制作成windows服务.
- 制作服务
mysqld --install 服务名
- 启动服务
net start 服务名
- 停止服务
net stop 服务名
这里注意因为默认服务路径在C盘, 所以安装在别的盘需要改一下服务路径,具体做法为
win+R打开运行,输入regedit,打开系统注册表,依次找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MYSQL5/ImagePath(一般是bin文件夹路径)
- 删除服务
mysqld --remove 服务名
测试连接mysql
- 除了python连接mysql, 也可以使用mysql自带的客户端来连接mysql并发送指令. 这里的工具其实就是bin路径下的
mysql
,mysqld
类似配置文件 - 连接命令:
mysql -h 127.0.0.1(如果本机, 配置h可以不写) -P 3306(和ini配置有关) -u root -p(输入密码,默认为空, 回车即可)
- 'show databases;' 发送指令, 查看默认有哪些数据库
- 'exit;' 发送指令, 退出
密码设置
- Windows默认root用户没有密码, root用户登录后, 可以使用
set password = password("密码");
来配置 - 忘记密码则需要在配置文件里加入一行
skip-grant-tables=1
, 重启MySQL, 再次登录时, 不需要密码可以直接进去了, 具体重启就是停止服务和开启服务 - 进入后更新密码,
use mysql;
update user set authentication_string=password("新密码"), password_last_changed=now() where user="root";
- 配置文件删掉
skip-grant-tables=1
, 重启服务后就可以用新密码登录了
数据库管理
内置客户端操作
- 查看当前所有的数据库:
show databases;
- 创建数据库:
create database 数据库名 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
, 后面一大堆是设置存储文件的编码 - 或者
create database bank default charset utf8 collate utf8_general_ci;
, 大小写并不检查 - 删除数据库:
drop database 数据库名;
- 进入数据(进入文件夹):
use 数据库名;
- 查看此数据库中的表:
show tables;
python代码操作
- 安装相关库
pip install pymysql
import pymysql
# 连接MySQL(本质是socket)
connect = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="lyq", charset="utf8")
cursor = connect.cursor() # mysql的指令通过cursor实现
# 1. 查看数据库
# 发送指令
cursor.execute("show databases;") # 用不用分号都可!
# 获取指令的结果
result = cursor.fetchall()
print(result)
# 2. 创建数据库
# 发送指令 (注意如果是新增,删除,修改这种对数据库有修改的就要再加一句)
cursor.execute("create database bank default charset utf8 collate utf8_general_ci")
connect.commit() # 注意修改了就要加这个
# 3. 删除数据库
cursor.execute("drop database bank")
connect.commit()
# 4. 进入数据库,查看表
cursor.execute('use bank')
cursor.execute("show databases")
result = cursor.fetchall()
print(result)
# 5. 关闭连接
cursor.close()
connect.close()
标签:服务,python,utf8,数据库,cursor,connect,mysql
From: https://www.cnblogs.com/sdulyq/p/17569145.html