1、连接和退出MySQL
1.1、连接MySQL
可以使用第三方客户端工具连接MySQL,也可以使用MySQL提供的命令行工具连接MySQL。命令行工具位于MySQL安装目录下的bin目录中,名为mysql,命令格式如下:
./mysql [-h 远程MySQL主机地址] [-P 端口] -u 用户名 -p密码
注意:-u后面可以有空格,也可以没有空格。但是-p后面绝对不能有空格,否则MySQL会提示密码错误。
使用mysql工具也可以连接远程MySQL主机。
建议:使用mysql工具时,建议不要在-p后面直接输入密码,而是在-p后直接回车,这样MySQL会提示输入密码,此时输入密码将不会有回显。直接在命令行中输入密码容易导致密码泄露,Linux还具有命令历史功能,通过history命令可以查看输入的历史命令。
登录成功后,会出现如下界面:
Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 7 Server version: 5.7.25 Source distribution Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql>
此时进入了mysql的交互模式,可以使用MySQL支持的命令了。
注意:MySQL的每一句命令都以;或/G结尾,/G表示以易于读取的方式显示内容。
1.2、退出MySQL
在mysql工具命令行中,使用以下命令退出:
exit
2、修改用户密码
2.1、使用mysqladmin工具
修改用户密码,可以使用bin目录下的mysqladmin工具,命令格式如下:
./mysqladmin -u 用户名 -p旧密码 password 新密码
建议:不建议使用这种方式修改用户密码,该方式的密码以明文显示,容易导致密码泄露。
2.2、使用MySQL命令修改密码
在进入mysql交互模式之后,使用以下命令修改用户密码:
set password [for '用户名'@'主机']=password('新密码');
如果不指定用户名时表示为当前登录用户修改密码。
password()表示使用MySQL提供的password函数对密码进行加密。
3、用户和权限
3.1、创建用户
进入mysql交互模式命令行,使用以下命令创建用户:
create user '用户名'@'主机' identified by '密码';
- 主机:指定用户可以在哪台主机上登录MySQL。如果仅本地登录,可使用localhost;如果从任意主机登录,使用通配符%;如果指定主机,可使用IP地址
3.2、用户权限设置
使用以下命令设置指定用户的权限:
grant 权限 on 数据库.表名 to '用户名'@'主机';
- 权限:指定用户可以执行的操作,如select、insert等,多个权限之间用逗号隔开,如果要授权所有权限,可以使用all表示
- 数据库.表名:指定用户可以执行操作的数据库和表。如果要授权用户对所有数据库及表有权限,可使用*.*表示;如果要授权用户对指定数据库的所有表有权限,可使用数据库.*表示
注意:使用上面命令授权的用户无法给其他用户授权,如果想要让指定的用户可以给其他用户授权,使用以下命令
grant 权限 on 数据库.表名 to '用户名'@'主机' with grant option;
使用以下命令查看用户授权信息:
show grants for '用户名'@'主机';
使用以下命令撤销用户权限:
revoke 权限 on 数据库.表名 from '用户名'@'主机';
注意:撤销时权限必须与添加时的权限内容一致。
也可以使用以下命令同时创建用户和设置权限:
grant 权限 on 数据库.表名 to '用户名'@'主机' identified by '密码';
MySQL中的权限
3.3、删除用户
使用以下命令删除用户:
drop user '用户名'@'主机';
4、数据库管理
4.1、列出所有数据库
使用以下命令列出当前MySQL中所有数据库:
show databases;
4.2、使用数据库
使用以下命令使用指定数据库:
use 数据库;
4.3、创建数据库
使用以下命令创建一个数据库并使用utf8编码:
create database 数据库名 default character set utf8 collate utf8_general_ci;
4.4、删除数据库
使用以下命令删除一个数据库:
drop database 数据库;