mysql [options] [database]
连接选项 | 含义 | 说明 |
---|---|---|
-u | - -user | 指定用户名 |
-p | - -password | 指定密码 |
-h | - -host | 指定服务器IP或者域名 |
-P | - -port | 指定连接的端口号 |
mysql -h 127.0.0.1 -P 3306 -u root -p root
mysql -h127.0.0.1 -P3306 -uroot -proot
执行选项 | 含义 | 说明 |
---|---|---|
-e | - -execute | 执行SQL语句并退出 这个可以在MySQL客户端执行SQL语句,不需要连接MySQL数据库执行.便于对一些批处理脚本进行操作 |
mysql -uroot -proot database -e "SELECT name FROM table_name";
# 创建数据库
mysqladmin -uroot -proot create 'database_name';
# 删除数据库
mysqladmin -uroot -proot drop 'database_name';
# 查看服务器版本
mysqladmin -uroot -proot version;
mysqlbinlog [options] log_file ....
基本选项 | 含义 | 说明 |
---|---|---|
-d | - -database | 指定数据库名称 只列出指定的数据库相关操作 |
-o | - -offset | 指定检查日志的偏移量 忽略掉日志中的前n行 |
-r | - -result-file | 将输出的文本格式的日志保存到指定文件 |
-s | - -short-form | 以简单格式显示文件 |
- -start-datetime - -stop-datetime | - -start-datetime - -stop-datetime | 检查指定日期间隔内的所有日志 |
- -start-position - -stop-position | - -start-position - -stop-position | 检查指定位置间隔内的所有日志 |
mysqldump [options] db_name [table_names]
mysqldump [options] --database/-B db_name1 db_name2 ...
mysqldump [options] --all -database/-A
基本选项 | 含义 | 说明 |
---|---|---|
-u | - -user | 指定用户名 |
-p | - -password | 指定数据库服务器密码 |
-h | - -host | 指定数据库服务器IP或者域名 |
-P | –port | 指定连接的端口号 |
- -add-drop-database | - -add-drop-database | 输出内容在每个创建数据库的语句前添加 Drop database 语句 |
- -add-drop-table | - -add-drop-table | 输出内容在每个创建表的语句前添加 Drop table 语句 该选项默认开启,如果需要关闭,需要使用 - -skip-add-drop-table 选项 |
-n | - -no-create-db | 输出内容不包含创建数据库的语句 |
-t | - -no-create-info | 输出内容不包含创建表的语句 |
-d | - -no-data | 输出内容不包含数据库表中的数据 |
-T | - -table | 输出内容生成两个文件 一个是创建表结构的 .sql 文件.一个是数据的 .txt 文件,相当于select into outfile |
nysqldump -uroot -proot db_name table_name --add-drop-database --add-drop-table > table_name.sql
mysqldump -uroot -proot -T /src db_name table_name
mysqlimport [options] db_name table_name.txt ...
mysqlimport -uroot -uroot db_name table_name.txt
source table_name.sql
mysqlshow [options] [db_name] [table_name] [col_name]
基本参数 | 说明 |
---|---|
- -count | 显示数据库和表的统计信息 数据库和表均可以不指定 |
-i | 显示指定数据库和指定表的状态信息 |
# 查询数据库服务器中每一个数据库的表的数量以及表的数据记录的数量
mysqlshow -uroot -proot --count
# 查询指定数据库中每一个表的字段的数量以及行记录的数量
mysqlshow -uroot -proot db_name --count
# 查询指定数据库中指定表的详细信息
mysqlshow -uroot -proot db_name table_name -i
show variables like 'log_error%';
tail -f /var/lib/mysql/localhost.err
cat /var/lib/mysql/localhost.err
# 配置开启二进制日志,指定日志文件名前缀为mysqlbin
log_bin=mysqlbin
# 配置二进制日志的格式
binlog_format=MIXED
mybinlog [options] 日志文件名称;
mysqlbinlog -vv mysqlbin.000001;
reset master;
purge master logs to 'mysqlbin.000001';
purge master logs before '2022-12-22 18:18:18';
--expire_logs_days=6
# 开启查询日志的选项. 可选值包括 1-开启, 0-关闭
general_log=1
# 指定查询日志的文件名的选项. 如果未指定,默认文件名为 hostname.log
general_log_file=query_log.log
cat query_log.log
# 开启慢查询日志的选项. 可选值包括 1-开启, 0-关闭
slow_query_log=1
# 指定慢查询日志的文件名选项
slow_query_log_file=slow_query_log.log
# 指定慢查询的时间限制的选项,默认为10s. 执行时间超过这个指定时间的SQL语句就认为是慢查询,这条SQL语句就会记录到慢查询日志中
long_query_time=10
cat slow_query_log.log
tail -f slow_query_log.log
mysqldumpslow slow_query_log.log
# MySQL的服务ID,要保证在整个集群中的服务ID唯一
server-id=0
# MySQL中二进制日志binlog的存储路径
log-bin=/var/lib/mysql/mysqlbin
# 是否为MySQL中只读的数据库. 可选值包括 0-读写, 1-只读
read-only=0
# MySQL中忽略主从同步的数据库
binlog-ignore-db=mysql
# 指定MySQL中主从同步的数据库
# binlog-do-db=db_name
service mysql restart
grant replication slave on *.* to 'root'@'192.168.136.101' identified by 'root';
flush privileges;
show master status;
# MySQL的服务ID,要保证在整个集群中的服务ID唯一
server-id=1
# MySQL中二进制日志binlog的存储路径
log-bin=/var/lib/mysql/mysqlbin
service mysql restart
change master to master_host='192.168.136.100',master_user='root',master_password='root',master_log_file='mysqlbin.000001',master_log_pos=666;
start slave;
show slave status\G;
stop slave;