1.1 mysql的连接与退出
使用 mysql 连接到 MySQL 服务器,通常情况下,您需要指定host、user、password、port;如果您不知晓,请向数据库管理员索取;如果您已知晓,就可以像下面这样执行,连接到 MySQL 服务器。
shell> mysql -h host -P port -u user -p
Enter password: ********
- host:MySQL 所在服务器的hostName或IP,-h 缺省的情况下,默认使用 localhost 连接;
- user:MySQL 中创建的用户,-u 缺省的情况下,使用默认 root 用户连接;
- password:MySQL 中创建的用户密码,-p 缺省的情况下,默认使用空密码连接;
- port:MySQL 服务监听的端口,-P(大写)缺省的情况下,使用默认端口 3306 连接;
Note:
mysql 命令中使用的四个参数选项,host和port是必需的,只不过有缺省值,稍后为大家举例说明;
如果您的 mysql 命令可以正常执行,那么您将看到下面的结果:
shell> mysql -h host -u user -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 25338 to server version: 5.7.22-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
提示符 mysql>
表示 MySQL 已连接成功,并等待输入 SQL 语句。
如果您在连接 MySQL 服务器的过程中出现 :
Can't connect to local MySQL server through socket '/tmp/mysql.sock'
表示 MySQL 服务未启动。
Access denied for user 'root'@'localhost' (using password: YES)
表示用户名/密码不正确;或已被禁止访问 MySQL 服务器。
mysql 命令的使用示例:
mysql 命令中的四个选项中,host 和 port 是必需的,缺省值分别是localhost 和 3306。也就是说要连接 MySQL 服务器,必需要有 host 和 port ,否则都不知道往哪儿连?而 user 和 password 确实是可以省略的(出于安全考虑,不推荐 MySQL 管理员这么设置)。以下的示例,如不能理解请先忽略,后续章节会详细介绍 MySQL 的用户管理机制。
1、完整的连接示例。
shell> mysql -h 192.168.80.110 -u root -P 3306 -p
2、省略 host 和 port ,分别使用 localhost 和 3306 代替,相当于 shell> mysql -h localhost -u root -P 3306 -p
。
shell> mysql -u root -p
3、省略 host 和 port、password,此时 host、port 默认为localhost 和 3306,password 为空密码。
shell> mysql -u root
4、使用匿名用户登录,但需要使用密码。
shell> mysql -h 192.168.80.110 -P 3306 -p
5、使用匿名用户登录,也不使用密码。
shell> mysql -h 192.168.80.110 -P 3306
Note:
匿名用户即用户名为空的用户,在 mysql 系统库的 user 表中,可以看到。匿名可以理解为正常用户,只不过没有用户名而已。可对匿名用户设置密码、分配权限等。
6、选项全部省略,此时 host、port 默认为localhost 和 3306,匿名用户使用空密码登录。
shell> mysql
与 MySQL 配置文件 my.cnf 结合的使用示例
1、设置无密码登录
[mysqld]
skip-grant-tables #忽略密码
通常在忘记 root 密码的情况下使用。连接到 MySQL 服务器重置新密码,再将其注释,并重启 MySQL 服务。
shell> mysql -h 192.168.80.110 -P 3306 -u root
忽略密码,使用 root 身份登录到 MySQL 服务器。
2、在文件中配置 host、password、user、port
[client]
host=localhost
password=woodie
user=root
port=3306
shell> mysql
此时相当于 shell> mysql -h localhost -u root -P 3306 -p
设置环境变量
export MYSQL_HOST=192.168.80.110
export MYSQL_PWD=woodie
shell> mysql -u root
使用 root 身份登录。此时 host 为192.168.80.110,port 默认为3306,user 为root,password 为woodie.
退出 MySQL
在 mysql 的交互界面,输入 quit(或\q)即可中断连接;在 Unix 中同时按下 Control+D 也可。
mysql> QUIT
Bye