01 本地mysql部署
程序员在开发的时候,需要部署本地环境,有本地mysql数据库,一方面速度快,效率高,另一方面也不容易破坏服务器的数据。所以,本地部署mysql数据库非常重要。
本地部署mysql步骤如下:
02 检查及卸载原版本
打开windows系统服务有以下两种方式:
右击"我的电脑/计算机",点击管理,打开计算机管理,依次选择服务和应用程序—服务。
使用快捷命令:win+r,在窗口中输入services.msc,即可打开服务。
03 停止和卸载mysql服务
以管理员身份进入cmd
停止命令:net stop mysql
卸载命令: mysqld –remove mysql
04 下载Mysql安装包
本人下载的5.7.13部署正常。mysql下载
05 检查安装包目录
06 配置环境变量
安装前先配置下环境变量(注:必须设置系统环境变量):
右击我的电脑/计算机,点击属性,打开高级系统设置,点击环境变量。
变量名:MYSQL_HOME
变量值:D:\DjangoDevelopment\mysql5.7.13
path里添加:%MYSQL_HOME%\bin
07 创建数据库目录及配置文件
此版本MySQL并没有创建data目录及my.ini。在MYSQL_HOME目录下创建data目录,建议将data目录设为D:\DjangoDevelopment\mysql5.7.13\data。另外,创建Uploads目录作为MySQL导入导出的目录。my.ini建议放在MYSQL_HOME目录下:
[mysqld]
port=3306
character_set_server=utf8
basedir=D:\DjangoProjects\mysql5.7.13
datadir=D:\DjangoProjects\mysql5.7.13\data
server-id=1
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1
innodb_file_per_table = 1
log_timestamps=SYSTEM
log-error = error.log
slow_query_log = 1
slow_query_log_file = slow.log
long_query_time = 5
log-bin = binlog
binlog_format = row
expire_logs_days = 15
log_bin_trust_function_creators = 1
secure-file-priv=D:\DjangoProjects\mysql5.7.13\upload
[client]
default-character-set=utf8
完整的目录结构如下:
08 初始化数据库
以管理员身份进入CMD(win+X),如果没破解则搜索PowerShell
D:\DjangoDevelopment\mysql5.7.13\bin目录,执行:
mysqld --initialize-insecure
执行完毕之后,在data目录下会生成很多文件。
09 注册并启动MySQL服务
以管理员身份进入cmd
安装服务:mysqld –install MySQL57(install后面是服务的名字,我们这里以MySQL57作为mysql5.7的服务名)
启动服务:net start MySQL57
10 登录并修改密码
root是空密码,有些是临时密码,我们需要查看error log日志提示。
由于初始化设置或版本差异,有些版本安装完成后root是空密码,有些是临时密码,我们需要查看error log日志提示。
打开error日志,发现我这里是空密码。
11 登录数据库
在cmd登录数据库
C:\Users\chen>mysql -uroot
12 常用操作
mysql> use mysql
mysql> update user set authentication_string=PASSWORD("Chengl139!") where User='root';
mysql> update user set plugin="mysql_native_password";
mysql> flush privileges;
mysql> exit
停止启动服务:
C:\Users\chen> net stop MySQL57
C:\Users\chen> net start MySQL57
C:\Users\chen>mysql -uroot -pChengl139!
此时可以对数据库进行相关作。
创建数据库
CREATE DATABASE student CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;
用Navicat访问数据库