连接数据库常用选项:
-h 指定服务器地址;
-u 指定登录用户名;
-P 指定服务端口号;
-S 指定套接字路径;
-D 指定要登录的数据库;
-C 数据压缩传输;
-e 非交互式执行sql语句;
-E 查询结果纵向显示,等同于mysql提示符下的\G;
1)交互式登录本地数据库
$ mysql -uroot -p
- -u 表示指定用户;
- -p 表示将会提示输入密码;
2)以明文的方式指定密码登录
$ mysql -uroot -p123456
- -u 与用户名之间的空格可有可无;
- -p 与密码之间不能存在空格;
3)连接 MySQL 时,指定要登录的数据库
$ mysql -uroot -p123456 -D test
4)本地连接 MySQL 时,指定套接字位置
$ mysql -uroot -p -S /tmp/mysql.sock
- /etc/my.cnf 中配置了套接字位置,一般可以省略不写;
5)远程连接 MySQL
$ mysql -uroot -p -h 192.168.31.22 -P 3306
- -h 表示指定远程 mysql 主机的 ip;
- -P 表示指定远程 mysql 服务对应的端口;
- 连接成功的前提是,已经授权当前客户端的IP地址能够连接到 MySQL;
6)非交互模式执行sql语句
$ mysql -uroot -p123456 -e 'use mysql;select user,host from user;'
mysql: [Warning] Using a password on the command line interface can be insecure.
+---------------+--------------+
| user | host |
+---------------+--------------+
| root | 192.168.31.1 |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+---------------+--------------+