MariaDB/MySQL 客户端工具与服务端配置精要指南

免费个人运维知识库,欢迎您的订阅:literator_ray.flowus.cn

一、客户端与服务端程序

类型工具功能说明
客户端程序mysql交互式 CLI 工具,支持 SQL 执行与数据库管理
mysqldump备份工具,将数据转换为 INSERT 语句保存到文件
mysqladmin基于 MySQL 协议管理 mysqld服务(启停/状态检查等)
mysqlimport数据导入工具
myisamchkMyISAM 表检查工具
myisampackMyISAM 表打包工具(生成只读文件)
服务端程序mysqld_safe安全启动脚本(推荐生产使用)
mysqld核心数据库服务进程
mysqld_multi多实例管理工具(例:mysqld_multi --example

二、用户账号管理

账号格式​:'USERNAME'@'HOST'

  • HOST 通配规则​:
%        匹配任意长度字符(如 `172.16.%.%`)  
_        匹配单个字符  
172.16.0.0/255.255.0.0  指定 IP 段

三、MySQL 客户端命令

3.1 命令类型

类别示例说明
客户端命令\h(help)本地执行,无需分号结尾
\u(use)切换数据库
\s(status)查看服务状态
\!(system)执行系统命令
服务端命令SELECT VERSION();通过协议发送到服务端,需分号结尾

​3.2 使用模式

  • 交互模式​:命令行直接操作

  • 脚本模式​:

mysql -uUSER -pPASS < /path/script.sql     # 文件输入  
echo "SQL" | mysql -uUSER -pPASS           # 管道输入  
mysql> SOURCE /path/script.sql;            # 会话内执行

​3.3 常用选项

mysql [OPTIONS] [database]  
  -A, --no-auto-rehash    # 禁用自动补全  
  -u, --user=用户名        # 默认为 root  
  -h, --host=主机名        # 默认为 localhost  
  -p, --password          # 密码提示(推荐)  
  -P, --port=端口          # 默认 3306  
  -S, --socket=sock文件    # 指定连接文件路径  
  -D, --database=库名      # 指定默认数据库  
  -e, "SQL"               # 执行单条 SQL 命令  
  -V, --version           # 显示版本信息

​3.4 提示符定制

  • 临时修改​:
mysql --prompt="\r:\\m\\s\\u@\h) [\\d]>\_"
  • 永久生效​:
# /etc/my.cnf.d/mysql-clients.cnf  
[mysql]  
prompt="\r:\\m:\\s\\u@\h) [\\d]>\_"

​四、mysqladmin管理命令​

mysqladmin [OPTIONS] command  
  ping                 # 检查服务状态(返回 "mysql is alive")  
  shutdown             # 停止服务(注意:无法启动服务)  
  create <dbname>      # 创建数据库  
  drop <dbname>        # 删除数据库(需确认)  
  password '新密码'    # 修改用户密码  
  flush-logs           # 滚动二进制日志(生成新 binlog 文件)

示例​:

mysqladmin -uroot -p123456 create testdb  
mysqladmin -uroot -p123456 password '111111'

​五、服务端配置​

5.1 配置文件​​

核心路径​:

/etc/my.cnf                  # 全局配置  
/etc/my.cnf.d/my.cnf          # 扩展配置  
~/.my.cnf                    # 用户级配置

配置块语法​:

[mysqld]                     # 服务端参数  
[client]                     # 客户端参数  
parameter = value            # 示例:skip-networking=1

注意​:ON/OFF1/0等价,不区分大小写。

​5.2 Socket 通信配置​

类型路径通信范围默认行为
IP Socket0.0.0.0:3306支持远程通信绑定全部接口 IP
Unix Socket/var/lib/mysql/mysql.sock仅本机通信host=localhost时自动启用
  • 禁用网络监听​(仅限本地):
[mysqld]  
skip-networking=1  
bind_address=127.0.0.1

​六、最佳实践总结

  1. 安全连接​:

    • 生产环境建议禁用远程 IP 监听(配置 skip-networking)。

    • 使用 Unix Socket 提升本地通信效率。

  2. 权限管理​:

    • 用户账号严格限制 HOST范围(如 'user'@'172.16.%.%')。
  3. 运维操作​:

    • 备份用 mysqldump,服务管理用 mysqladmin

    • 日志维护定期执行 flush-logs

  4. 配置维护​:

    • 全局配置集中存放于 /etc/my.cnf.d/

    • 敏感参数(如密码)避免明文存储。

请不要以此视为定论,这只是我的个人经验

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑疯雷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值