一、Windows 环境安装 MySQL¶
1.1 软件下载¶
1、点击https://dev.mysql.com/downloads/mysql/ ,选择官网网站的【DOWNLOADS】进行数据库软件程序下载选择



1.2 Windows 图形化安装¶
1、程序包下载好后,进行傻瓜式安装部署即可。
2、数据库服务环境变量配置


在PATH信息后添加以下信息:
程序所在路径信息\bin
二、MySQL 服务启动与关闭¶
在企业实际环境中,数据库服务的运行状态一般是不会进行随意调整的,在特殊场景下需要提前审批后,才能进行调整;
在企业实际环境中,在进行数据库服务关闭前,可以将业务先切换到备库(从库),再停止原有主库服务;
数据服务运行启动的进程信息查看:
[root@master local]# ps -ef|grep mysqld
root 2801 1 0 20:51 ? 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/3306/data --pid-file=/data/3306/data/master.pid
mysql 2942 2801 0 20:51 ? 00:00:05 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=master.err --pid-file=/data/3306/data/master.pid --socket=/tmp/mysql.sock
root 3330 1762 0 22:43 pts/0 00:00:00 grep --color=auto mysqld
说明:通过以上进程信息,可以看出数据库服务可以更灵活的启动,使用mysqld和mysqld_safe命令来完成,主要用于维护操作。
数据库服务运行启动与关闭操作逻辑:(ps -ef|grep mysqld --> bin/mysqld )

数据库服务除了应用脚本文件或命令进行关闭数据库服务之外,还可以进入到数据库服务中进行关闭服务:
(1)命令行方式关闭服务
[root@master local]# mysqladmin -uroot -p123456 shutdown
(2) SQL方式关闭服务
mysql> shutdown;
说明:当利用脚本或命令无法正常关闭服务时,也可以使用以上操作方式关闭数据库服务,但不建议利用kill -9方式杀进程停数据库
数据库服务启动和关闭方式总结:
| 序号 | 启动方式 | 关闭方式 |
|---|---|---|
| 01 | mysqld & | kill/pkill/killall (不建议) kill -9 禁用 |
| 02 | mysqld_safe & | kill/pkill/killall (不建议) |
| 03 | mysql.server start | mysql.server stop |
| 04 | service mysqld start (建议) |
service mysqld stop (建议) |
| 05 | systemctl start mysqld | systemctl stop mysqld |
| 06 | > shutdown | |
| 07 | mysqladmin -uroot -poldboy123 shutdown |
补充:systemctl管理服务配置文件
[root@master ~]# systemctl cat mysqld
# /run/systemd/generator.late/mysqld.service
# Automatically generated by systemd-sysv-generator
[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/rc.d/init.d/mysqld
Description=LSB: start and stop MySQL
Before=runlevel2.target
Before=runlevel3.target
Before=runlevel4.target
Before=runlevel5.target
Before=shutdown.target
After=network-online.target
After=remote-fs.target
After=ypbind.service
After=nscd.service
After=ldap.service
After=ntpd.service
After=xntpd.service
After=network-online.target
Wants=network-online.target
Conflicts=shutdown.target
[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/etc/rc.d/init.d/mysqld start
ExecStop=/etc/rc.d/init.d/mysqld stop
ExecReload=/etc/rc.d/init.d/mysqld reload