1、下载MySQL安装包
下载地址:https://dev.mysql.com/downloads/mysql/
首页是最新的8.0版本,5.x版本需要点右侧连接:
选一下操作系统位数,下“zip archive”这个
3.解压安装包并配置环境变量
将压缩包放在一个合适的盘进行解压,我这里放在了E盘,解压后建议将文件夹重命名为mysql5.7.23。
建议安装前先配置下环境变量:
右击我的电脑/计算机,点击属性,打开高级系统设置,点击环境变量。
添加系统变量
变量名:MYSQL_HOME
变量值:E:\mysql5.7.23
path里添加:%MYSQL_HOME%\bin
4.创建数据目录及配置文件
此版本MySQL并没有创建data目录及my.ini。
在MYSQL_HOME目录下创建data目录,建议将data目录设为E:\mysql5.7.23\data。另外,在MySQL根目录下创建uploads目录作为MySQL导入导出的目录。
创建一个txt文件,改名为my.ini。
my.ini建议放在MYSQL_HOME目录下,简单配置可参考:
注意这个文件夹要先创建:E:\mysql5.7.23\uploads
my.ini内容如下
[mysqld] port=3306 character_set_server=utf8 basedir=E:\mysql5.7.23 datadir=E:\mysql5.7.23\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=E:\mysql5.7.23\uploads secure-file-priv= max_allowed_packet = 32M binlog_cache_size = 4M sort_buffer_size = 2M read_buffer_size = 4M join_buffer_size = 4M tmp_table_size = 96M max_heap_table_size = 96M lower_case_table_names=1 innodb_file_per_table = 1 [client] default-character-set=utf8 |
完成之后我们的目录结构变成这样了
5.初始化数据库
管理员模式打开cmd命令
进入E:\mysql5.7.23\bin目录,执行
mysqld --initialize-insecure
C盘下不能执行这个命令,怎么进入E盘?
先进入E盘,命令: e:
再到bin目录下,命令: cd E:\mysql5.7.23\bin
(也可以直接在资源管理器bin目录下输入cmd)
执行完毕之后,在data目录下会生成很多文件。
如果初始化报错:
- 删除data目录
- 再次初始化
6.注册并启动MySQL服务
执行mysqld –install MySQL57安装服务(install后面是服务的名字,我们这里以MySQL57作为mysql5.7的服务名)
mysqld -install MySQL57
net start MySQL57 启动MySQL服务。
如果启动出现错误,可以用 mysqld --console查看具体原因。然后自己去搜索一下。
如果解决不了:
1、删除data目录
2、sc delete MySQL57 删除服务
然后回到第五步:初始化、启动服务。
7.登录并修改密码
提醒大家,由于初始化设置或版本差异,有些版本安装完成后root是空密码,有些是临时密码,我们需要查看error log日志提示。
打开error日志,发现我这里是空密码。
下面我们命令行登录,修改下密码:
mysql -uroot
alter user 'root'@'localhost' identified by '123456';
flush privileges;
若需要配置root用户可以远程访问,则可以执行以下语句:
grant all privileges on *.* to 'root' @'%' identified by '123456' with grant option;
flush privileges;
接下来我们就可以用Navicat等工具登录了!
以后怎么启动MySQL?在服务里面启动
如果经常使用,可以设置为自启动。否则只需要右键启动即可。
也可以做成启动脚本:
新建文本文档,保存为mysql.bat,内容如下。
cls @echo off :设置窗口字体颜色 color 0a :设置窗口标题 TITLE MySQL管理程序 call :checkAdmin goto menu :菜单 :menu cls echo. echo.=-=-=-=-请选择您要对MySQL的操作-=-=-=-=- echo. echo.1: 启动MySQL echo. echo.2: 关闭MySQL echo. echo.3: 重启MySQL echo. echo.4: 退 出 echo. echo.=-=-=-=-请输入您要选择的项目序号↓-=-=-=- set /p id= if "%id%"=="1" goto startup if "%id%"=="2" goto shutdown if "%id%"=="3" goto reboot if "%id%"=="4" exit pause :启动 :startup echo. call :checkMySQL 1 echo.启动MySQL...... net start "MySQL57" echo.启动MySQL成功! pause goto menu :停止 :shutdown echo. call :checkMySQL 2 echo.关闭MySQL...... net stop "MySQL57" echo.关闭MySQL成功! pause goto menu :重启 :reboot echo. call :checkMySQL 2 echo.关闭MySQL...... net stop "MySQL57" echo.关闭MySQL成功! goto startup goto menu :退出 :goout pause goto menu :检查MySQL进程是否存在 :checkMySQL set /a count=0 for /f "tokens=1 delims= " %%i in ('tasklist /nh ^| find /i "MySQL"') do (set /a count+=1) if %count% neq 0 if "%1" equ "1" ( echo 警告:MySQL已启动 goto goout ) if %count% equ 0 if "%1" equ "2" ( echo 警告:MySQL未启动 goto goout ) :检查是否是以管理员身份运行 :checkAdmin echo test am i admin? > %SystemRoot%\System32\test.sunhao if not exist %SystemRoot%\System32\test.sunhao ( echo 警告:请以管理员身份运行! pause exit ) del %SystemRoot%\System32\test.sunhao |
右键管理员身份运行,输入1就可以启动了