02 mysql 管理(Windows版)
一、启动及关闭 MySQL 服务器
1.1 通过 “服务” 管理工具
win+r打开运行,输入services.msc
 
找到MySQL80,这个是我们在安装mysql的时候给的服务的名称,具体见文章mysql 安装
 右键选择启动或者停止。
 
1.2 通过命令提示符
1.2.1 关闭命令 :net stop <服务名>
以管理员方式打开powershell,输入net stop MySQL80
1.2.2 打开命令:net start <服务名>
以管理员方式打开powershell,输入net start MySQL80
 
二、MySQL 用户设置
在开始用户设置操作前,需要先打开 MySQL 命令行客户端。你可以在开始菜单中找到 MySQL 的相关程序组,里面一般有 MySQL Command Line Client,点击打开它
 
然后输入 MySQL 的 root 用户密码(如果安装时设置过的话),进入 MySQL 命令行界面。 
 
2.1 创建用户
在 MySQL 里创建用户,得用 SQL 命令,命令是这样的:
 CREATE USER 'username'@'host' IDENTIFIED BY 'password';
'username'是你要创建的用户名,就像给新同事起个工号;
'host'指定用户能从哪连接,'localhost'就是只能在本地连接,'%'表示任何地方都能连;
'password'就是密码
后面的;不可少,这是SQL语句结束的标志。
我们创建一个leo的用户:
CREATE USER 'leo'@'localhost' IDENTIFIED BY '123456';
2.2 查看所有用户
创建好用户后,我们可以通过该命令查看所有用户: 
 SELECT User, Host FROM mysql.user;
 
2.3 授予权限
用户创建好了,还得给权限,不然就像新同事没权限一样。用GRANT命令来授权,格式是:
 GRANT privileges ON database_name.* TO 'username'@'host'; 
'privileges'是权限,比如ALL PRIVILEGES是所有权限,SELECT是查询权限,按需分配;
'database_name.*'是对某个数据库的所有表授权,特定表的话就写具体表名;
'TO 'username'@'host''就是指定用户和连接主机,localhost--仅限本地登录;%---允许从任意主机登录;ip---允许从指定IP登录该权限的意思是允许这个用户是本地访问,还是可以从任何来源访问,也可以指定IP。
要是给 “leo” 授予对 “dbbase” 所有表的所有权限,就输入:
GRANT ALL PRIVILEGES ON dbbase.* TO 'leo'@'localhost';
2.4 刷新权限
给完权限或者撤销权限后,得刷新一下,格式为:FLUSH PRIVILEGES;
 执行完,新权限就生效啦!
 
2.5 查看用户权限
想知道某个用户有啥权限,用这个命令:SHOW GRANTS FOR 'username'@'host';
 比如我们查看leo的权限,执行后就能看到他的权限信息了。
SHOW GRANTS FOR 'leo'@'localhost';
2.6 撤销权限
要是不想让用户有某些权限了,用REVOKE命令,格式是:
 REVOKE privileges ON database_name.* FROM 'username'@'host'; 
 比如撤销leo的权限:
REVOKE ALL PRIVILEGES ON dbbase.* FROM 'leo'@'localhost';
2.7 修改用户密码
改密码用ALTER USER命令,格式是:
 ALTER USER 'username'@'host' IDENTIFIED BY 'new_password';
 比如修改leo的用户密码为654321:
ALTER USER 'leo'@'localhost' IDENTIFIED BY '654321';
2.8 删除用户
用户不用了,就删掉,命令是:DROP USER 'username'@'host';
 比如删除leo用户:
DROP USER 'leo'@'localhost';
这时候我们再查看用户就没有了 
 
2.9 修改用户的host权限
为了演示这个例子,我们按前面的步骤重建leo用户。
如果我们想修改用户允许的主机权限,格式为:
 RENAME USER '旧用户名'@'旧主机' TO '新用户名'@'新主机';
 比如我们修改leo的主机权限为任何来源:
RENAME USER 'leo'@'localhost' TO 'leo'@'%';执行后再查看,就已经是%了。 
 
三、MySQL 配置文件(Windows 下一般为 my.ini)
MySQL 的配置文件叫my.ini文件,一般位于你安装目录下,如何找到它:
3.1 路径
方法1:在安装mysql的时候,有一个Data Directory的路径选择,在这里面就能找到。
方法2:如果不记得了,在service里查看,--defaults-file="路径",这个路径就是了
方法3: 在mysql命令行里查看:SHOW VARIABLES LIKE '%dir%';
刚开始咱可以先不改动它,熟悉一下常见配置项:
3.2 基本设置:
- basedir:MySQL 的安装目录,就像办公室的地址。
- datadir:数据存储位置,相当于办公室的文件柜。
- port:端口号,默认 3306,要是被占了就得改,就像办公室电话占线了得换个号码。
3.3 服务器选项:
- bind-address:指定监听 IP 地址,“0.0.0.0” 能接受任何 IP 连接,“127.0.0.1” 只接受本地连接,就像门禁系统设置谁能进办公室。
- default - storage - engine:默认存储引擎,- InnoDB功能多,- MyISAM读操作强,按需选择。
3.4 性能调优:
- innodb_buffer_pool_size:- InnoDB缓冲池大小,调大读写快,但占内存,就像给电脑加内存条。
- max_connections:最大连接数,设小了并发大时连不上,设大了耗资源,得平衡好。
3.5 安全设置:
- skip - networking:禁止网络连接,只允许本地连,安全但不方便,就像把办公室锁起来只让自己进。
- skip - grant - tables:无密码启动,用于忘密码恢复,但风险大,用完赶紧改回来。
四、常用 MySQL 管理命令
4.1 创建数据库
注意一点:我们的命令可以用大写也可以用小写。
我们已经创建了用户,现在数据库是空的,我们还需要创建数据库,创建数据库的命令:
 CREATE DATABASE 数据库名;
比如我们创建一个dbbase的数据库:
CREATE DATABASE dbbase;4.2 查看所有数据库
命令:SHOW DATABASES;
就看到我们创建好的数据库了 。
 其他4个information_schema、mysql、performance_schema 和 sys 是在 MySQL 中,系统自带的数据库。
4.3 进入数据库
我们已经创建好数据库,那怎么进入数据库呢,这就需要到我们的命令:use 数据库;
4.4 查看表
在数据库里存放的是一张张表,那么如何查看表呢,命令:show tables;(大小写即可),比如,现在查看,就是空的,没有任何表
 
