bin/mysqldump
这个是个二进制可执行文件,用于导出数据,默认导出时候会锁定数据库的所有表,加上--lock-tables=false
参数避免锁定表,加上--lock-tables=false
参数。
导出数据库
导出表结构和数据
# -h 主机链接
# -p 密码,交互式输入密码,不可以在这个参数后面加密码
# -B或者--databases,代表导出指定数据库
mysqldump -h localhost -u root -p -B 数据库名 > c:/a.sql
只导出数据库表结构
# -d或者--no-data,参数代表只导出表结构No row information.
mysqldump -h localhost -u root -p -d -B 数据库名 > c:/a.sql
导出表
表结构和数据
mysqldump -h localhost -u root -p --B 数据库名 --tables 表名 > c:/a.sql
只包含表结构
# --tables指定导出的表
mysqldump -h localhost -u root -p -d --database 数据库名 --tables 表名 > c:/a.sql
bin/mysqld
mysqld是一个二进制文件,用于启动mysql的服务,通过以下命令可以查看文件的类型
# 这个命令可以查看文件类型
file mysqld
查看mysql的帮助信息
# 只能这样输入,--help --verbose两个参数必须一起用
./mysqld --help --verbose
mysqld命令还可以用于初始化mysql5.7的数据库,详情见:https://www.xiaoqiuyinboke.cn/archives/104.html
这个二进制文件,最核心的功能是用于启动mysql服务,但是这种方式启动的mysqld,没有守护进程管理mysqld进程
# 默认好像就是用到/etc/my.cnf这个文件
mysqld --defaults-file=/etc/my.cnf
# 后台的方式启动
mysqld --defaults-file=/etc/my.cnf &
bin/mysqlAdmin
这是一个二进制文件,通过这个脚本,可以不登录mysql客户端,就可以执行sql语句,例如执行shutdown语句来关闭mysqld,和登录mysql客户端后执行shutdown;
关闭msqld是等效的,通常是用于shell脚本中执行sql语句时候
./mysqladmin -uroot -p03203511 -S /tmp/mysql.sock1 shutdown
我们还可以通过kill命令来直接关闭mysql,执行kill mysqld的进程id
,mysql会接收到这个信号,来处理一些关闭逻辑,是安全的关闭。但是需要注意的是,不可以执行kill -9 mysqld的进程id
来关闭,mysql会被直接关闭,这样是不安全的。
bin/mysqld_safe
是一个shell脚本,mysql官方使用这个命令启动,这个脚本,5.6和5.7是通用的,也就是5.7的mysqld_safe可以启动mysqld5.6、mysqld8。通过这种方式启动mysqld,会生成一个守护进程和mysqld进程,守护进程,如果发现mysqld进程没有里,会立马创建一个新的。通常使用这种方式启动,因为我们希望mysqld被down了之后,会自动起来
./mysqld_safe --user=mysql
# 执行后,会有两个进程
./mysqld_safe --user=mysql 守护进程,如果发现mysqld进程没有里,会立马创建一个新的
/usr/local/mysql/bin/mysqld 进程
bin/mysql
这个是个二进制的MySQL客户端连接文件,用于登录mysql。
查看帮助信息
./mysql --help
# 或者
./mysql --help --verbose
连接数据库,可以配置不用输入密码,见配置文件
# -h主机地址,可以省略
# -P端口,可以省略
# -u用户
# -p密码,后面不需要跟任何东西,交互式输入
./mysql -h localhost -P3306 -uroot -p
# 有密码的最少参数
./mysql -uroot -p
# 不需要输入密码的,直接执行就可以了
./mysql
还可有通过这个脚本查看mysql加载的配置文件顺序
# 输出/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
mysql --help | grep my.cnf