[数据库] Windows:安装MySQL[解压版的安装/卸载]
早就想重装系统了、清理清理系统,这两天干的便是这件事儿。开门见山,直奔主题。
注:此安装方式全命令行组装式、无需动用windows系统注册表等系统服务,插拔式安装,安装与卸载(cmd管理员模式下:进入mysqld.exe目录下,执行:mysqld --remove)更加便捷、安全。
1.下载安装文件
https://dev.mysql.com/downloads/mysql/
2.安装
2.1 解压下载压缩包到:C:\web\mysql-8.0.11(1.一定得是此目录,其他目录需另外多重配置;2.文件夹名必须是此名mysql-8.0.11,其下含bin、lib等文件夹,即 需要与下一步骤中的配置文件所描述的保持一致)
2.2 创建配置文件my.ini(路径:C:\web\mysql-8.0.11\my.ini)
[Client]
port = 3306
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\web\mysql-8.0.11
# 设置mysql数据库的数据的存放目录
datadir=C:\web\db-data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
2.3 cmd【管理员模式】命令行下,初始化数据库(管理员模式:C:\Windows\System32\cmd.exe,右键->选择:以管理员身份打开)
注意:非管理员模式后续安装步骤均将失败!
# 1 切换执行目录
cd C:\web\mysql-8.0.11\bin
# 2 初始化数据库(记住此步骤中产生的临时密码)
mysqld --initialize --console
# 成功执行完毕后(中途无ERROR)
# 如果执行失败
# 主要原因:mysql在进行初始化的时后,会检测数据目录是否存在, 如过不存在,mysql会创建它, 如果存在,而且这个目录里有数据,mysql会报错,并且终止初始化:
# 解决办法:删除已存在的目录:C:\web\sqldata
...
2019-09-06T13:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
...
# 3 正式安装mysql数据库(如果此处失败,主要原因:非管理员模式下的cmd无此权限 或 原先旧的mysql服务未删除干净)
mysqld install
# 或:mysqld.exe --install MySQL8.0 --defaults-file="D:\Program\MYSQL\mysql-8.0.39-winx64\my.ini"
# 延伸 新问题:若此时出现“The service already exists! The current server installed: "D:\Program Files...”的提示信息,说明:之前已安装过mysql且没有删除干净
# 解决办法:
# + 管理员身份运行CMD(查看名为mysql的服务是否存在): sc query mysql
# + 若旧的mysql服务存在,则(删除该mysql): sc delete mysql
# 4 启动(任意cmd模式)
net start mysql
# END ===================================================== END
# 注意: 在 5.7 需要初始化 data 目录:
cd C:\web\mysql-8.0.11\bin
mysqld --initialize-insecure
Congratulations!
若本地电脑无管理员权限,只需临时通过控制台常驻启动时,可以通过如下方法跳过依赖管理员权限的步骤3、4:
> 窗口1:本地电脑无管理员权限、基于控制台的临时启动 D:\Program\MYSQL\mysql-8.0.39-winx64\bin>mysqld --console 2024-10-31T05:59:04.872456Z 0 [System] [MY-010116] [Server] D:\Program\MYSQL\mysql-8.0.39-winx64\bin\mysqld.exe (mysqld 8.0.39) starting as process 24620 2024-10-31T05:59:04.875546Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous. 2024-10-31T05:59:04.893976Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2024-10-31T05:59:05.282123Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. 2024-10-31T05:59:05.608675Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. 2024-10-31T05:59:05.608850Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel. 2024-10-31T05:59:05.672949Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060 2024-10-31T05:59:05.673210Z 0 [System] [MY-010931] [Server] D:\Program\MYSQL\mysql-8.0.39-winx64\bin\mysqld.exe: ready for connections. Version: '8.0.39' socket: '' port: 3306 MySQL Community Server - GPL. 2024-10-31T05:59:58.495693Z 8 [Warning] [MY-013360] [Server] Plugin sha256_password reported: ''sha256_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead' > 窗口2:本地登录 mysql -uroot -pxxxxxxx
若安装后,CMD:mysql,但却发生闪退,可能原因:
1)OS没有启动mysql服务 : CMD> net start mysql
3.首次登陆MySQL : 强制修改密码
step1 首次登陆MySQL
CMD> mysql -u root -p #通过【root用户的临时密码】登陆MySQL
step2 被MySQL【强制修改】root用户的密码
mysql> ALTER USER root@localhost IDENTIFIED BY '123456'; # mysql 8.0之后的版本 初次修改root密码【亲测有效,MySQL8.0中发生重大改版】
4.配置系统环境变量
为了方便使用,我们可以将以上路径添加到系统的环境变量path中
如果不加系统环境变量,则有可能在(非系统管理员权限下)CMD中打开不了相应的程序(MySQL数据库)。
4.数据库备份与恢复
不属于本篇文章撰写范围,详细操作,参见:MySQL入门篇(六)之mysqldump备份和恢复 - 博客园
5.卸载
卸载前,烦请把需要备份的数据库数据及时备份。
step1 停止window的MySQL服务 or CMD> net stop mysql
【windows键+R 】 > 输入【services.msc】 > 【停止】MySQL后台服务
step2 卸载MySQL安装程序 or CMD管理员身份> mysqld --remove
“控制面板” > "程序" > "程序和功能" > 卸载 MySQL
或 【Win键 + E】 > 目录栏处输入【控制面板\程序\程序和功能】 > 卸载MySQL
step3 清理、删除MySQL安装目录下的残留文件 和 删除MySQL的环境变量
my.ini文件
环境变量:我的电脑>属性>高级系统设置>环境变量>Path
step4 删除 C盘的程序隐藏目录(C:\\ProgramData)中关于MySQL的目录 【有时 可能 此步骤用不上】
step5 再次确认:是否 删除/卸载 干净 mysql服务?
管理员身份运行CMD: sc query mysql
若存在mysql服务信息,即存在,则:sc delete mysql
6.参考文献
+ 1 MySQL 安装
+ 4 MYSQL安装出现问题(The service already exists) - CSDN
+ 5 Linux编译安装MySQL
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!