当前位置: 代码迷 >> 综合 >> SQL(MySQL)数据库语言学习系列(3): 安装MySQL、MySQLdb
  详细解决方案

SQL(MySQL)数据库语言学习系列(3): 安装MySQL、MySQLdb

热度:53   发布时间:2023-12-19 04:10:42.0

1. 简介

MySQL:一个开放源代码的关系数据库管理系统.

特点
MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如维基百科、Google和Facebook等网站。

MySQL本身实际上只是一个SQL接口,现在MySQL唯一免费版本是 社区版(community)。


python 连接 MySQL数据库的驱动,主要有两个:

  • mysql-connector-python:是MySQL官方的纯Python驱动;
  • MySQL-python:是封装了MySQL C驱动的Python驱动。

2. 安装MySQL

基于Windows和python3.5的安装过程。

2.1 Windows 安装方法

MySQL安装:

(1)首先安装的是oracle的MySQL,这个去官网下载就好:MySQL官网

可以直接点下载:
在这里插入图片描述

或者使用ustc镜像下载;

64位windows可以下载 mysql-5.7.21-winx64.zip 版本。

(2)解压

解压的路径最好不要含中文!!!

(3)添加mysql文件夹中的bin路径到环境变量-系统变量-Path中:

在这里插入图片描述

(4)管理员成分初始化MySQL

在这里插入图片描述

在安装文件夹根目录配置my.ini文件(比如E:\软件安装\mysql-8.0.18-winx64):

注意:.ini 文件中,端口不能改;设置自己的mysql的安装目录,数据存放目录(不用自己创建,后面程序会自动创建的)

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
# 设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=E:\mysql-8.0.18-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\mysql-8.0.18-winx64\data
# 允许最大连接数
max_connections=200
# 设置mysql服务端默认字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB 

配置好后运行:

E:\软件安装\mysql-8.0.18-winx64\bin>mysqld --initialize --user=mysql --console

输出:

2020-11-30T11:52:32.980321Z 0 [System] [MY-013169] [Server] E:\mysql-8.0.18-winx64\bin\mysqld.exe 
(mysqld 8.0.18) initializing of server in progress as process 119192
2020-11-30T11:52:45.664322Z 5 [Note] [MY-010454] [Server] A temporary password is generated for 
root@localhost: 初始密码

记住初始密码!

(5)安装mysql服务

安装:

mysql-8.0.18-winx64\bin>mysqld install MySQL --defaults-file="E:\mysql-8.0.18-winx64\mysql.ini"

效果:

Service successfully installed.

(6) 启动MySQL服务

E:\mysql-8.0.18-winx64\bin>net start mysql

效果:

MySQL 服务正在启动 .
MySQL 服务已经启动成功。

安装MySQL的方法

安装完毕!


其他

Mysql 8 修改密码的方式是:

先登录:

>mysql -u root -p
Enter password: ************

然后:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

(低版本的MySQL修改密码的方式, mysql> set password = password("123456");

启动MySQL:

net start MySQL

停止MySQL:

net stop MySQL 

2.2 Centos安装方法

(1) 更新软件包管理器yum

sudo yum update

(2)下载 MySQL

MySQL Yum Repository官网;

选择其中一个下载:

sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

(3)准备仓库

sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm

(4)安装MySQL

sudo yum install mysql-server

安装完成。

启动,查看MySQL

(1)启动MySQL:

sudo systemctl start mysqld

(2)查看MySQL的状态

sudo systemctl status mysqld

Centos配置MySQL

(1) 更改MySQL的 用户, 密码

查看初始化的密码:

sudo grep 'password' /var/log/mysqld.log

更改:

sudo mysql_secure_installation

然后输入初始化的密码,就可以更改了。

新密码必须是:8-12字符,包含数字,大写字母,小写字母,特殊字符!

检查MySQL的版本

mysql -u root -p
[root@bw-1 ]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 8.0.22 MySQL Community Server - GPLCopyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> 

3. 安装python连接MySQL需要的驱动

根据廖雪峰网站,可以使用MySQL-python包。

$ easy_install mysql-connector-python
$ easy_install MySQL-python

一些报错:

a.本来以为直接安装就行了,

pip install MySQL-python

然后,出错:

 Failed building wheel for MySQL-python
f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\RoF
un\AppData\Local\Temp\pip-17fgv45v-record\install-record.txt --single-version-ex
ternally-managed --compile" failed with error code 1 in C:\Users\RoFun\AppData\L
ocal\Temp\pip-build-p1n23luc\MySQL-python\

b.根据网上指示,需要改成install MySQL-connector
然后,pip install mysql-connector,仍然出错:

Failed building wheel for mysql-connector

这个需要自己编译.whl文件

c.由于编译过于麻烦,于是下载现成的.whl 文件。

python3.5版本可以到这直接下载安装:python3.5 MySQL.whl

d.验证是否安装成功

>>> import MySQLdb

参考:

  1. Windows Python2.7 mysqldb installation error
  2. GitHub issue;
  3. mysql安装;
  4. MySQLdb whl文件下载 源码网站;
  5. 廖雪峰MySQL介绍;
  6. How to Install MySQL on CentOS 7;
  相关解决方案