戴尔Vostro 3590(Ubuntu 23.10)环境下MySQL社区版安装及Python连接配置方法咨询
戴尔Vostro 3590(Ubuntu 23.10)环境下MySQL社区版安装及Python连接配置方法咨询
嗨,我来一步步帮你搞定在Dell Vostro 3590的Ubuntu 23.10系统上安装MySQL,以及配置Python连接的事儿,亲测这套流程完全适用~
一、安装MySQL社区版
- 首先更新系统软件包列表,确保能安装到最新版本的软件:
sudo apt update && sudo apt upgrade -y - 安装MySQL服务器包:
sudo apt install mysql-server -y - 运行安全配置脚本,这一步能帮你快速加固MySQL的安全性:
sudo mysql_secure_installation
跟着提示一步步操作就好:设置root用户密码、移除匿名登录用户、禁止root远程登录(后续需要远程连接的话再修改配置即可)、删除默认的测试数据库、重新加载权限表。 - 验证MySQL服务是否正常运行:
sudo systemctl status mysql
看到输出里显示active (running)就说明安装成功了,也可以尝试登录MySQL控制台测试:sudo mysql -u root(如果刚才设置了密码,可能需要用mysql -u root -p,输入密码后登录)
二、配置Python与MySQL的连接
Ubuntu 23.10默认自带Python3和pip3,先确认一下它们的状态:python3 --versionpip3 --version
接下来安装Python的MySQL官方驱动,推荐用mysql-connector-python,步骤如下:
- 安装驱动包:
pip3 install mysql-connector-python
如果遇到权限问题,可以加上--user参数,安装到当前用户目录下:pip3 install --user mysql-connector-python - 测试连接的示例代码,你可以把下面的代码保存成
test_mysql.py,替换里面的数据库名、用户名和密码后运行:
import mysql.connector from mysql.connector import Error try: # 替换成你的MySQL连接信息 connection = mysql.connector.connect( host='localhost', database='your_db_name', # 先在MySQL里创建好对应的数据库哦 user='your_username', # 可以用root,或者你新建的专用用户 password='your_password' ) if connection.is_connected(): server_info = connection.get_server_info() print(f"成功连接到MySQL服务器,版本:{server_info}") cursor = connection.cursor() cursor.execute("SELECT DATABASE();") current_db = cursor.fetchone() print(f"当前连接的数据库:{current_db[0]}") except Error as e: print(f"连接MySQL时出错:{e}") finally: # 记得关闭连接 if 'connection' in locals() and connection.is_connected(): cursor.close() connection.close() print("MySQL连接已关闭")
- 如果用root用户连接失败,大概率是因为Ubuntu上的MySQL默认用auth_socket认证root用户,需要改成密码认证:
先登录MySQL控制台:sudo mysql -u root
执行以下命令(替换成你的root密码):
退出控制台后再用Python连接就正常了。ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_root_password'; FLUSH PRIVILEGES;
另外建议你不要一直用root用户操作数据库,可以新建一个专用用户:
登录MySQL后执行:
CREATE USER 'dev_user'@'localhost' IDENTIFIED BY 'your_strong_password'; GRANT ALL PRIVILEGES ON your_db_name.* TO 'dev_user'@'localhost'; FLUSH PRIVILEGES;
这样用dev_user连接数据库更安全~
备注:内容来源于stack exchange,提问作者user1756262
相关产品推荐
相关产品推荐

