百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

mysql-命令行客户端工具

ccwgpt 2024-12-23 10:33 66 浏览 0 评论

mysql是连接数据库的客户端工具。

语法如下:

mysql [options] [database]

1.连接选项

--user=user_name, -u user_name:用于连接到服务器的MySQL帐户的用户名
--password[=password], -p[password]:用于连接服务器的MySQL帐户的密码
--host=host_name, -h host_name:连接到给定主机上的MySQL服务器
--port=port_num, -P port_num:对于TCP / IP连接,使用的端口号。
--socket=path, -S path:连接localhost,要使用的Unix套接字文件

连接到mysql服务器:

[root@localhost~]# mysql -u root -p -P 3306 -h localhost -S /var/lib/mysql/mysql.sock
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.21-log MySQL Community Server (GPL)
 
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql>

login-path 便捷登陆

--login-path=name  从.mylogin.cnf中读取登录路径选项

login-path是MySQL5.6开始支持的新特性。通过借助mysql_config_editor工具将登陆MySQL服务的认证信息加密保存在.mylogin.cnf文件(默认位于用户主目录) 。MySQL客户端工具可通过读取该加密文件连接MySQL,避免重复输入登录信息,避免敏感信息暴露。

配置login-path:
mysql_config_editor set --login-path=3306 --user=root --host=localhost --port=3306 --password
        其中可配置项
                -h,--host=name 添加host到登陆文件中
                -G,--login-path=name 在登录文件中为login path添加名字(默认为client)
                -p,--password 在登陆文件中添加密码(该密码会被mysql_config_editor自动加密)
                -u,--user 添加用户名到登陆文件中
                -S,--socket=name 添加sock文件路径到登陆文件中
                -P,--port=name 添加登陆端口到登陆文件中
 
查看login-path配置
mysql_config_editor print --login-path=3306
查看所有login-path信息
mysql_config_editor print --all
删除login-path配置:
mysql_config_editor remove --login-path=3306
重置login-path配置:
mysql_config_editor reset --login-path=3306
使用login-path登录:
mysql --login-path=3306
mysql --login-path=3306 test

2.客户端字符集选项

--default-character-set=charset_name

用 charset_name作为客户端连接的默认字符集

配置客户端连接字符集:

a.在my.cnf的[mysql]组中配置default-character-set=charset_name

b.在mysql的命令行中添加--default-character-set=charset_name

c.在mysql客户端连接成功后执行 set names charset

示例

[root@localhost ~]# mysql -u root -p -P 3306 -h localhost -S /var/lib/mysql/mysql.sock --default-character-set=gbk
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.7.21-log MySQL Community Server (GPL)
 
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | gbk                        |
| character_set_connection | gbk                        |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | gbk                        |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)

备注:

上面的三个gbk字符集是客户端选项设置的结果

3.执行选项

--execute=statement, -e statement

在mysql客户端执行SQL语句并退出,常用于批处理脚本

查看test表数据:

[root@localhost ~]# mysql -uroot -p -e "use test;select * from test;";
Enter password:
+----+
| id |
+----+
|  1 |
|  2 |
|  3 |
+----+

4.格式化选项

--vertical, -E  输出方式按照字段顺序竖着显示
--silent, -s    去掉mysql中的线条框显示
[root@localhost ~]# mysql -uroot -p -E -e "use test;select * from test;";
Enter password:
*************************** 1. row ***************************
id: 1
*************************** 2. row ***************************
id: 2
*************************** 3. row ***************************
id: 3
[root@localhost ~]# mysql -uroot -p -s -e "use test;select * from test;";
Enter password:
id
1
2
3

5.错误处理选项

--force, -f  即使发生SQL错误,也要继续。
--verbose, -v  显示详细模式
--show-warnings  显示警告

示例

[root@localhost ~]# more test.sql
truncate table test;
insert into test values(1);
insert into test values('a');
insert into test values(3);
[root@localhost ~]# mysql -uroot -p test < test.sql
Enter password:
ERROR 1366 (HY000) at line 3: Incorrect integer value: 'a' for column 'id' at row 1
[root@mysqlnode1 ~]# mysql -uroot -p -e "use test;select * from test;";
Enter password:
+----+
| id |
+----+
|  1 |
+----+
[root@localhost ~]# mysql -uroot -p test -f < test.sql
Enter password:
ERROR 1366 (HY000) at line 3: Incorrect integer value: 'a' for column 'id' at row 1
[root@localhost ~]# mysql -uroot -p -e "use test;select * from test;";
Enter password:
+----+
| id |
+----+
|  1 |
|  3 |
+----+
[root@localhost ~]# mysql -uroot -p test -f -v --show-warnings < test.sql
Enter password:
--------------
truncate table test
--------------
 
--------------
insert into test values(1)
--------------
 
--------------
insert into test values('a')
--------------
 
ERROR 1366 (HY000) at line 3: Incorrect integer value: 'a' for column 'id' at row 1
--------------
insert into test values(3)
--------------
 
[root@localhost ~]# mysql -uroot -p -e "use test;select * from test;";
Enter password:
+----+
| id |
+----+
|  1 |
|  3 |
+----+

相关推荐

go-admin开源项目,快速搭建一个管理后台系统,直接二次开发上线

#头条创作挑战赛#目录1,关于go-admin2,使用go-admin进行构建3,使用go-admin进行数据库,后端初始化4,下载前端代码,进行node编译5,总结1,关于go-admingithu...

【开源】一款高效优雅的 Vite+Vue3 中后台管理模板——Arco-Admin

今天给大家分享一款开源的基于Vite、TypeScript和Vue3的中后台前端框架,结合了ArcoDesign提供的优雅设计与强大功能。值得一提的是,ArcoDesign是字节跳...

看看这样的Dotnet后台管理,那真是叫一个清新优雅高颜值!!!

MalusAdmin基于Vue3/TypeScript/NaiveUI和NET7&Sqlsugar开发的后台管理框架。采用最原生最简洁的方式来实现,前端清新优雅高颜值,后端结...

NET 7 + Vue.js 的前后端分离的通用后台管理系统框架

DncZeus项目简介DncZeus是一个基于.NET7+Vue.js的前后端分离的通用后台管理系统框架。后端使用.NET7+EntityFrameworkCore构建,UI则...

后台管理系统这么受欢迎吗?又 Go 一个开源项目

大家好,我是欧盆索思(opensource),每天为你带来优秀的开源项目!之前推荐过两款后台管理系统,都是Go语言实现的。十分钟内构建数据可视化和管理后台:还同时支持众多框架基于Go语言Gi...

支持AI + 低代码!一款开箱即用的强大权限管理系统

写在前面大家好,这里是IT学习日记。今日推荐项目:cool-admin,获取方式在文后!1000+优质开源项目推荐进度:51/1000。如需更多类型优质项目推荐,请在文章后留言。项目简介如果你在为设计...

使用 Flask-Admin 快速开发博客后台管理系统:关键要点解析

一、为什么选择Flask-Admin?Flask-Admin是Flask生态中高效的后台管理框架,核心优势在于:-零代码生成CRUD界面:基于数据库模型自动生成增删改查功能-高度可定制...

通用后台管理系统需求及原型设计(后台管理系统需求分析)

编辑导读:后台管理系统,会根据不同公司、不同业务的要求做出改变。那么,有没有通用的功能和和需求设计模版呢?有的。本文作者基于自身工作经验,总结了一套通用的后台管理系统需求及原型设计,与你分享。网上很多...

基于 Vue3 后台管理平台Vue3.x-Admin

今天给大家分享一个Vue3.0框架搭建的后台管理模板Vue3.xAdmin。vue3.x-admin使用vue3开发的后台管理系统。主要包括CSS3特效、可拖拽的div、图表、益智小游戏、vuex4...

火爆全网:后台管理系统源码分享(项目部署+前后端手册+运维)

这是一款基于SpringBoot2.1.0、Jpa、SpringSecurity、redis、Vue的前后端分离的后台管理系统,项目采用分模块开发方式,权限控制采用RBAC,支持数...

好多程序员都在用的通用管理后台—likeadmin

前言作为一个程序员,最害怕的就是每次开新项目时,总是要从用户、角色、菜单、接口等一系列功能从头开始写代码,重复的工作实在是太多了,即耗费时间,又耗费精力,这个时候就需要一些能提高效率的工具,例如一个通...

Axure无限级导航菜单(axure导航栏左右滑动怎么做)

在Axure设计中,树组件是展示层级结构数据的关键UI组件,广泛应用于文件管理、导航菜单和数据分类等场景。本篇文章将详细解析如何在Axure中构建一个实用的无限级导航菜单,帮助你高效管理和...

三星调整HBM团队组织架构 押宝定制化HBM

【三星调整HBM团队组织架构押宝定制化HBM】《科创板日报》27日讯,消息称,三星电子DS(设备解决方案)部门负责人全永铉正在进行内部组织大幅调整。他将三星HBM开发团队细分为标准HBM、定制化HB...

北森组织架构一览(北森总部地址)

北森的职级组织架构和职级名称都很有意思。可以作为企业参考。1)培养路径:森小白(BeisenNewcomer):新入职员工。森小贤(BeisenSage):L1层级森大侠(BeisenWarri...

高手正在使用的四个PLC编程思路,吃透让你少走20年弯路

在工业自动化领域,PLC(可编程逻辑控制器)编程是核心技能之一。掌握高效的编程思路不仅能提升工作效率,还能减少调试过程中的错误。以下是四条经过PLC工程师实践检验的编程思路,理解并运用这些思路可以让你...

取消回复欢迎 发表评论: