1、mysql: 客户端连接程序

  1. #常用参数
  2. mysql
  3. -u: 用户
  4. -p: 密码
  5. -h: IP
  6. -P: 端口
  7. -S: socket文件
  8. -e: 免交互
  9. >: 导出sql脚本
  10. help: 查看帮助

1.1、socket文件本机连接

create user 'admin'@'localhost' identified by '123456';
grant all on *.* to 'admin'@'localhost' with grant option;
flush privileges;

mysql -uadmin -p -S /tmp/3308.sock
Enter password:

#说明:什么情况下可以不加 -S 参数
1. 配置文件中 [mysql] 或者 [client]下已经指定socket正确位置
2. 二进制版本的软件, 如果服务器启动时, 将socket存放到了/tmp/mysql.sock (默认位置)

1.2、IP端口远程连接

create user 'php_dev'@'192.168.10.13' identified by '123456';
grant select,insert,update,delete on db01.* to 'php_dev'@'192.168.10.13';

mysql -uphp_dev -p -h 192.168.10.13 -P 3308
Enter password:

1.3、-e: 免交互

#格式: mysql -uxxx -pxxx -e "cmd"
#(2> /dev/null)消除登录提示Warning
mysql -uadmin -p123456 -e "select @@server_id;" 2> /dev/null

1.4、<: 导”入”SQL脚本

mysql -uadmin -p123456 < /root/t100w.sql

#尽量登录数据,使用source命令导入SQL脚本,不使用<导入SQL脚本
mysql -uadmin -p123456
source /root/t100w.sql;

1.5、内置功能

help           :  获取客户端命令帮助
help contents  :  获取服务器端命令帮助
\c (Ctrl+C)    :  结束上条命令运行
Ctrl+l         :  清理屏幕
Ctrl+d(\q)     :  退出会话
\G             :  格式化输出
system         :  MySQL中调用操作系统命令
use            :  进入某个库
source         :  导入SQL脚本

#修改登录提示符
[mysql]
prompt=db02 [\d]>

2、mysqladmin: 数据库管理

#查看数据库当前状态信息
mysqladmin -uroot -p status

#关闭 mysql
mysqladmin -uroot -p shutdown

#刷新缓存 (用于密码输入次数过多,连接不上数据库)
mysqladmin -uroot -p flush-hosts

#刷新日志 (二进制日志)
mysqladmin -uroot -p flush-logs 

#修改密码
(尽量登录数据库,使用alter语句修改)!

格式:mysqladmin -u用户 -p旧密码 [-S] [-h] [-P] password 新密码
mysqladmin -uroot -p123456 password 654321

3、开发工具连接

workbench: mysql官方提供
navicat
sqlyong

#不开放服务器端口,使用SSH通道连接Mysql案例
create user 'test'@'127.0.0.1' identified by '123456';
grant select,insert,update,delete on test.* to 'test'@'127.0.0.1';
flush privileges;

远程工具填写连接服务器SSH,和数据库配置
image.pngimage.png

4、驱动程序连接

Java
Python
PHP
Go等等