1、客户端程序
- mysql:基于mysql协议交互式或非交互式的CLI工具
- mysqldump:备份工具,基于mysql协议向mysqld发起查询请求,并将查得的所有数据转换成insert等写操作语句保存文本文件中
- mysqladmin:基于mysql协议管理mysqld
- mysqlimport:数据导入工具
MyISAM存储引擎的管理工具:
- myisamchk:检查MyISAM库
- myisampack:打包MyISAM表,只读
2、服务器端程序
- mysqld_safe
- mysqld
- mysqld_multi 多实例 ,示例:mysqld_multi –example
3、用户账号
mysql用户账号由两部分组成
'USERNAME'@'HOST'
root@'10.0.0.100'
root@'10.0.0.%'
root@'%'
# HOST限制此用户可通过哪些远程主机连接mysql服务器
# % 匹配任意长度的任意字符,相当于shell中*
# _ 匹配任意单个字符,相当于shell中?
4、mysql 客户端命令
4.1、mysql 运行命令类型
- 客户端命令:本地执行,每个命令都完整形式和简写格式
- 服务端命令:通过mysql协议发往服务器执行并取回结果,命令末尾都必须使用命令结束符号,默认为分号
# 客户端命令
[root@centos79-mysql01 ~]# mysql -V
mysql Ver 14.14 Distrib 5.7.40, for Linux (x86_64) using EditLine wrapper
mysql> \h, help
mysql> \u,use
mysql> \s,status
mysql> \!,system
# 服务端命令
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.40 |
+-----------+
1 row in set (0.00 sec)
4.2、mysql 使用模式
- 交互模式
- 脚本模式
# 脚本模式
mysql -uUSERNAME -pPASSWORD < /path/somefile.sql
cat /path/somefile.sql | mysql -uUSERNAME -pPASSWORD
mysql> source /path/from/somefile.sql
4.3、mysql命令使用格式
mysql [OPTIONS] [database]
# mysql客户端常用选项
-A, --no-auto-rehash 禁止补全
-u, --user= 用户名,默认为root
-h, --host= 服务器主机,默认为localhost
-p, --passowrd= 用户密码,建议使用-p,默认为空密码
-P, --port= 服务器端口
-S, --socket= 指定连接socket文件路径
-D, --database= 指定默认数据库
-C, --compress 启用压缩
-e "SQL" 执行SQL命令
-V, --version 显示版本
-v --verbose 显示详细信息
--print-defaults 获取程序默认使用的配置
# 登录系统
# 默认空密码登录
mysql -uroot -p
# 范例
# 运行mysql命令
mysql> use mysql #切换数据库
mysql> select database(); #查看当前数据库
mysql> select user(); #查看当前用户
mysql> system clear #清屏
mysql> ^DBye #ctrl+d 退出
4.4、mysqladmin命令
mysqladmin [OPTIONS] command command....
#查看mysql服务是否正常,如果正常提示mysqld is alive
mysqladmin -uroot -pcentos ping
#关闭mysql服务,但mysqladmin命令无法开启
mysqladmin -uroot -pcentos shutdown
#创建数据库testdb
mysqladmin -uroot -pcentos create testdb
#删除数据库testdb
mysqladmin -uroot -pcentos drop testdb
#修改root密码
mysqladmin -uroot -pcentos password 'Root123!'
#日志滚动,生成新文件/var/lib/mysql/mariadb-bin.00000N
mysqladmin -uroot -pcentos flush-logs
4.5、mycli
MyCLI 是基于Python开发的MySQL的命令行工具,具有自动完成和语法突出显示功能
# 安装
[root@centos79-mysql01 ~]# yum install python3-pip -y
[root@centos79-mysql01 ~]# pip3 install mycli
5、服务器端配置
5.1、服务器端配置文件
服务器端(mysqld):工作特性有多种配置方式
- 命令行选项:
- 配置文件:类ini格式,集中式的配置,能够为mysql的各应用程序提供配置信息
# 服务器端配置文件
/etc/my.cnf #Global选项
/etc/mysql/my.cnf #Global选项
~/.my.cnf #User-specific 选项
# 配置文件格式
[mysqld]
[mysqld_safe]
[mysqld_multi]
[mysql]
[mysqladmin]
[mysqldump]
[server]
[client]
# 格式
parameter = value
_和- 相同
1,ON,TRUE意义相同, 0,OFF,FALSE意义相同,无区分大小写
5.2、socket 连接说明
服务器监听的两种 socket 地址
- ip socket:监听在tcp的3306端口,支持远程通信 ,侦听3306/tcp端口可以在绑定有一个或全部接口IP上
- unix sock:监听在sock文件上,仅支持本机通信, 如:/var/lib/mysql/mysql.sock),host为localhost 时自动使用unix sock
# MySQL的端口
mysql> show variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3306 |
+---------------+-------+
1 row in set (0.00 sec)
# MySQL8.0增加了一个33060/tcp端口
mysql> show variables like 'mysqlx_port';
5.3、关闭mysqld网络连接
只侦听本地客户端, 所有客户端和服务器的交互都通过一个socket文件实现,socket的配置存放在/var/lib/mysql/mysql.sock) 可在/etc/my.cnf修改。
[root@centos79-mysql01 ~]# vim /etc/my.cnf
[mysqld]
skip-networking=1
bind_address=127.0.0.1
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END