mysql数据库因为其免费,是使用最广泛的数据库之一,下面主要介绍mysql常用的一些命令。
通用命令
数据库启停
由于mysql安装在windows和linux服务器上,启停命令有所区别
windows启停mysql
windows上有两种启停方式
1.服务窗口启停
使用命令services.msc在cmd中打开,或者在任务管理器中打开服务窗口,找到mysql服务,点击右键可以启动或者停止服务
2.命令启停
以管理员身份运行cmd命令窗口
停止命令:
net stop mysql
启动命令:
net start mysql
linux服务器启停mysql
启动命令:
systemctl start mysqld
停止命令:
systemctl stop mysqld
重启命令:
systemctl restart mysqld
mysql登录命令
mysql -h ip -P 端口 -u 用户名 -p
如果是本机,使用命令:
mysql -u root -p
退出mysql命令行可以使用exit
查看数据库版本
登录mysql情况下,使用
select version();
未登录时,使用mysql --version或者mysql -V
显示所有数据库
show databases;
进入指定的数据库
use 数据库名;
显示当前数据库中所有表
show tables;
查看其它数据库中所有表
show tables from 数据库名称;
查看表的创建语句
show create table 表名;
查看表结构
desc 表名;
查看当前所在库
select database();
查看当前数据库支持的存储引擎
show engines;
查看系统变量及其值
show variables;
查看某个系统变量
show variables like ‘变量名’;
模糊查询包含某个变量名的系统变量
管理员常用命令
查看mysql中所有用户信息
mysql用户信息存放在mysql.user表中,在mysql命令行中输入
select user,host from user;
创建用户
create user 用户名[@主机名] [identified by ‘密码’];
创建用户名为test1无密码的用户,不指定主机名,使用mysql -u test1即可登录mysql
create user test1;
创建指定主机IP段能访问的用户
create user ‘test2’@’192.168.108.%’ identified by ‘123’;
修改密码
方式一:
set password for ‘用户名’@’主机’=password(‘密码’);
方式二:
create user 用户名[@主机名] [identified by ‘密码’];
set password = password(‘密码’);
方式三:
update user set authentication_string = password(‘321’) where user = ‘test2’ and host = ‘192.168.108.%’;
flush privileges;
给用户授权
grant privileges on database.table to ‘username’ [@’host’] [with grant option]
说明:
**priveleges:**权限列表,all表示所有权限,select、update、insert、delete分别对应增删改查,多个权限之间用逗号分开。
**on:**表示权限针对那些库和表,格式为数据库.表名,点号前面用来指定数据库名,点号后面用来指定表名,*.*表示所有数据库下所有表。
**to:**表示将权限赋予某个用户,格式为username@host,@前面为用户名,@后面为主机地址,host可以是IP、IP段、域名或者%,%则表示任何地址。
**with grant option:**表示该用户可以将拥有的权限授予给其他用户,重复给用户添加权限时,权限会叠加。
grant all on *.* to ‘test1’@’%’;
给test1授权可以操作所有数据库所有权限
grant select on seata.* to ‘test1’@’%’;
给test1授权可以操作seata库中所有表执行select权限
grant select,update on seata.* to ‘test1’@’%’;
给test1授权可以操作seata库中所有表执行select和update权限
grant select(user,host) on mysql.user to ‘test1’@’localhost’;
给test1授权可以操作mysql库中user表user和host字段执行select权限
查看用户拥有哪些权限
show grants for ‘用户名’[@’主机’];
查看当前用户的权限
show grants;
撤销用户拥有的权限
revoke privileges on database.table from ‘用户名’[@’主机’];
删除用户
方式一:
drop user ‘用户名’[@’主机’];
方式二:
delete from user where user = ‘用户名’ and host = ‘主机’;
flush privileges;