mac从0到1实现python如何调通MySQL

144 阅读2分钟

目的

  • 本文记录了自己的macbook电脑从0到1实现python如何调通MySQL的过程,并把中间遇到的问题和解决方案进行详细记录。有需要的同学可以参考一下。

环境信息

机器信息

  • MacBook Pro
  • 13.6.4 (22G513)
  • 双核Intel Core i5

python版本

  • Python 3.12.1
$ python3 --version

安装MySQL

  • 可以直接从MySQL官方网站下载最新的版本。MySQL是跨平台的,选择对应的平台下载安装文件,安装即可。
  • 这里遇到一个问题:自己的电脑是ARM和x86哪一个?
    • 如果下载了错误的版本,软件可能无法在你的设备上运行或者性能不佳。因此,在下载之前检查你的设备支持哪种架构非常重要。
    • 查看你的Macbook电脑属于哪个版本,可以按照以下步骤操作:
      1. 点击屏幕左上角的苹果菜单(Apple menu)。
      2. 选择“关于本机”(About This Mac)。
      3. 在弹出的窗口中,查看“概览”(Overview)标签页。
      4. 在“处理器”或“芯片”部分,你将看到你的Mac使用的处理器类型:
    • 如果显示的是“Intel”后面跟着某种型号,比如“Intel Core i5”,这表示你的Mac是基于x86架构的。如果显示的是“Apple M1”或其他类似的Apple自家芯片名称,这表示你的Mac使用的是基于ARM架构的Apple Silicon处理器。
  • 安装时,MySQL会提示输入root用户的口令,请务必记清楚。

启动MySQL

  • 默认安装完成之后会默认启动 MySQL 服务,可以在系统偏好设置->MySQL里面查看: image.png
  • 对mysql服务进行人为启动或者暂停,除了利用上图的按钮进行切换外,还可以用命令行
// 启动:
$ sudo /usr/local/mysql/support-files/mysql.server start
// 关闭
$ sudo /usr/local/mysql/support-files/mysql.server stop

如果报错MySQL server PID file could not be found!,可能是mysql无法在数据目录创建PID文件,使用下面命令更改目录权限:

$ sudo chmod 755 /usr/local/mysql/data

登录MySQL

  • 打开终端,输入mysql -u root -p,然后输入刚才安装时候设置的口令,即可登入mysql。
  • 如果出现command not found, 可能就是环境变量没有配置,执行如下命令:
$ vim ~/.bash_profile

按下字母i键,进入编辑模式,并加入语句PATH=$PATH:/usr/local/mysql/bin。注意:由于mysql的安装路径不同,在配置环境变量PATH=$PATH:/usr/local/mysql/bin时,路径可能也不同。
环境变量配置完毕后,执行source ~/.bash_profile命令,使得环境变量配置得以生效。

安装MySQL驱动

  • 由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器。
  • MySQL官方提供了mysql-connector-python驱动
$ pip3 install mysql-connector-python --allow-external

python连接MySQL

  • 测试连接服务器的test数据库
// 导入MySQL驱动:
import mysql.connector
// 注意把password设为你的root口令,database不存在则先创建:
conn = mysql.connector.connect(user='root', password='password', database='test')
cursor = conn.cursor()
// ...
  • 如果报错mysql Authentication plugin ‘caching_sha2_password‘ is not supported,则需要将其改成mysql_native_password验证机制,可以按照以下步骤操作:
  1. 打开命令行窗口
  2. 登录mysql数据库mysql -uroot -p
  3. 查看不同用户名的身份验证方式select user,plugin from mysql.user;
  4. 因为我们创建数据池的时候用的是root用户名,所以我们看一下root用户名的身份验证方式(plugin) ,如果验证方式是caching_sha2_password,则需要修改它
// 这行代码有两层含义,第一:修改root的密码为’root’,摒弃原来的旧密码。第二:使用mysql_native_password对新密码进行编码。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
  1. 再运行select user,plugin from mysql.user;查看root用户名的验证方式已经修改成为mysql_native_password了

MySQL基本使用

  • 创建数据库实例:create database database1 default character set utf8;
  • 查看所有数据库实例:show databases;
  • 删除数据库实例:drop database 数据库名称;
  • 打开数据库:use 数据库名称;
  • 创建表:create table userInfo (personId int, name varchar(20), sex varchar(10), age int, primary key(personId));
  • 查看表结构: desc userInfo;
  • 复制表: create table newUserInfo like userInfo;
  • 删除表: drop table newUserInfo;
  • 条件查询: select * from userInfo where age = 35;
  • 插入数据: insert into userInfo (personId, name, sex, age) values (1000, 'admin', "male", 35);
  • 更新数据: update userInfo set age = 25,name = "uiChen",sex='female' where personId = 1001;
  • 删除数据: delete from userInfo where age = 23;