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;(大小写即可),比如,现在查看,就是空的,没有任何表