---
title: MySQL管理
date: 2021-11-15
---
# 启动和关闭MySQL服务
## Windows
方式一
```bash
# 以windows服务方式启动和停止, 管理员方式运行CMD
#启动
net start mysql
#停止
net stop mysql
```
方式二
```bash
# 在 Windows 系统下,打开命令窗口(cmd),进入 MySQL 安装目录的 bin 目录
#启动
cd D:\Program Files\mysql-8.0.26-winx64\bin
mysqld --console
#关闭
cd D:\Program Files\mysql-8.0.26-winx64\bin
mysqladmin -uroot shutdown -pwyd19940118
```
## Linux
方式一
```bash
# 以服务的方式启动和停止Mysql
#启动
systemctl start mysql.service
#停止
systemctl stop mysql.service
#查看状态
systemctl status mysql.service
```
方式二
```bash
#检查MySQL服务器是否启动
ps -ef | grep mysqld
#启动Mysql服务器
cd /usr/bin
./mysqld_safe &
#关闭目MySQL服务器
cd /usr/bin
./mysqladmin -uroot -pwyd19940118 shutdown
```
# 用户设置
如果你需要添加 MySQL 用户,你只需要在 mysql 数据库中的 user 表添加新用户即可。以下为添加用户的的实例,用户名为guest,密码为guest123,并授权用户可进行 SELECT, INSERT 和 UPDATE操作权限。
```bash
#root用户登录
mysql -u root -p
#添加用户, 在添加用户时,请注意使用MySQL提供的 PASSWORD() 函数来对密码进行加密。
use mysql;
INSERT INTO user(host, user, password, select_priv, insert_priv, update_priv)
VALUES('localhost', 'guest', PASSWORD('guest123'), 'Y', 'Y', 'Y');
#刷新配置
FLUSH PRIVILEGES;
#查看用户
SELECT host, user, password FROM user WHERE user = 'guest';
# 注意:在 MySQL5.7 中 user 表的 password 已换成了authentication_string。
# 注意:password() 加密函数已经在 8.0.11 中移除了,可以使用 MD5() 函数代替。
# 注意:在注意需要执行 FLUSH PRIVILEGES 语句。 这个命令执行后会重新载入授权表。
```
另外一种添加用户的方法为通过SQL的 GRANT 命令,以下命令会给指定数据库TUTORIALS添加用户 zara ,密码为 zara123 。
```bash
#root用户登录
mysql -u root -p
#添加用户, 以下命令会在mysql数据库中的user表创建一条用户信息记录。
use mysql;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON TUTORIALS.*
-> TO 'zara'@'localhost'
-> IDENTIFIED BY 'zara123';
```
/etc/my.cnf 文件配置
一般情况下,你不需要修改该配置文件,该文件默认配置如下
```bash
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
[mysql.server]
user=mysql
basedir=/var/lib
[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
```