我在macOS和linux中,有一些操作比较喜欢直接使用mysql 命令行程序完成。切到windows中反而不知道如何安装mysql client了。

从上面文章中可以看出,我在大多数的操作系统中都喜欢使用 mysql client

windows中安装

mysql server包含client

如果你需要安装 mysql server ,其实它已经自带了 mysql client 了。

只安装client

https://dev.mysql.com/downloads/mysql/
选择 Microsoft Windows
Windows (x86, 64-bit), ZIP Archive
具体的下载地址是:
https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.30-winx64.zip

解压以下在bin目录运行 mysql.exe 就可以了。

这个压缩包解压以后竟然有800多MB了,有这么大容量,我为什么不直接使用Navicat之类的软件呢?于是我就准备精简一下。
我把bin中 以下文件 复制出来,放到一个文件夹中就可以了。

  • libcrypto-1_1-x64.dll
  • libssl-1_1-x64.dll
  • mysql.exe

目前只留这几个文件,我所常用的功能基本是可以正常使用的。

我把精简以后的文件打包分享一下。
https://download.csdn.net/download/lxyoucan/86667268

source 遇到小问题

在windows 中使用source执行命令:
X错误的

source C:\Users\itkey\Desktop\sql\ry_20210908.sql;
source C:/Users/itkey/Desktop/sql/ry_20210908.sql;
 

请注意,文件路径分配符。应该是根linux相关的斜线/

以下是问题分析,可忽略。

现象,比如,以下sql语句在linux和macOS中都是正常的。

CREATE DATABASE `ry-vue` CHARACTER SET UTF8;
use ry-vue;
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
source /Users/itkey/wisdom/RuoYi-Vue/sql/ry_20210908.sql;
source /Users/itkey/wisdom/RuoYi-Vue/sql/quartz.sql;

但是在windows版本的sql client就会报以下错误。

mysql> source C:\Users\itkey\Desktop\sql\ry_20210908.sql;
ERROR:
Unknown command '\U'.
ERROR:
Unknown command '\i'.
ERROR:
Unknown command '\D'.
--------------
mysql  Ver 8.0.30 for Win64 on x86_64 (MySQL Community Server - GPL)
Connection id:          591
Current database:       winsqlclient
Current user:           root@172.17.0.1
SSL:                    Cipher in use is ECDHE-RSA-AES128-GCM-SHA256
Using delimiter:        ;
Server version:         5.7.37 MySQL Community Server (GPL)
Protocol version:       10
Connection:             10.0.2.2 via TCP/IP
Server characterset:    latin1
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
TCP port:               3306
Binary data as:         Hexadecimal
Uptime:                 36 min 33 sec
Threads: 2  Questions: 675  Slow queries: 0  Opens: 139  Flush tables: 1  Open tables: 103  Queries per second avg: 0.307
--------------
ERROR 1049 (42000): Unknown database 'y_20210908.sql;'

我把路径换成 source C:/Users/itkey/Desktop/sql/ry_20210908.sql;会报如下的错误:

No connection. Trying to reconnect...
ERROR 1049 (42000): Unknown database 'y_20210908.sql;'
ERROR:
Can't connect to the server
No connection. Trying to reconnect...
ERROR 1049 (42000): Unknown database 'y_20210908.sql;'
ERROR:
Can't connect to the server
 

后来为了探究这个路径问题,期间重新启动过电脑。再次执行 source C:/Users/itkey/Desktop/sql/ry_20210908.sql;既然又不报错了。
目前没搞懂之前执行报错的原因。

解决办法1:

直接把ry_20210908.sql文件复制到当前目录,这样直接

use ry-vue;
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
source ry_20210908.sql;

就可以执行成功了。看来问题是windows的路径问题。

解决办法2:

直接把ry_20210908.sql文件复制到当前目录,这样直接

mysql -h10.0.2.2 -port=3306 --user=root --password=itkey123456 winsqlclient --default-character-set=utf8 -e "set @arg1='[1002,2003,3304]';source ry_20210908.sql;"
    CLIENT SECTION:
    The following options will be read by MySQL client applications. Note that
only client applications shipped by MySQL are guaranteed to read this
运行cmd,进入终端操作界面,然后进入数据库安装目录:
使用“mysql客户端连接数据库时,其指令格式如下:
mysql -h host -P port -u root -ppassword database
“-h host”:host为主机名,可选项,默认值为localhost;
“-P port”:port为端口号,可选项,默认值为3306,注意“-P”的大小写;
“-u ...
				
MySQL是关系型数据库,由n张互相关联的表组成。一般是c或c++写得。优势是体积小,命令执行的速度快,因此,提到数据库,大多首先被想到。 MySQL的背景知识MySQL的系统逻辑 MySQL整体上属于C/S架构,全称client/server,也就是客户机/服务器的架构, 因此,我们需要安装好基础的服务端软件,即MySQL,然后再安装客户端软件,才能直观的进行数据库的增删改查。服务端 1、下载服务端软件 windows可以到这个官网页面下载最新版 https://downloads.mysql.com/
2. 使用包管理器安装MySQL客户端。如果您的服务器上已经安装了包管理器,可以使用以下命令安装: - 在Ubuntu上:sudo apt-get install mysql-client - 在CentOS上:sudo yum install mysql 如果您的服务器上没有包管理器,则需要手动下载和安装MySQL客户端。可以从MySQL官方网站下载相应的安装包,并按照安装指南进行安装安装命令的具体细节可以参考MySQL官方文档。 3. 安装完成后,您可以使用以下命令连接到MySQL服务器: mysql -h <server_ip_address> -u <user_name> -p 其中,`<server_ip_address>`是MySQL服务器的IP地址,`<user_name>`是连接MySQL服务器的用户名。如果需要连接到MySQL服务器上的特定数据库,则可以使用以下命令: mysql -h <server_ip_address> -u <user_name> -p <database_name> 其中,`<database_name>`是要连接的数据库名称。 4. 输入连接MySQL服务器的密码,即可连接到MySQL服务器并开始执行SQL查询和操作。 注意:在连接MySQL服务器时,需要确保MySQL服务器已经允许远程访问,并且已经为连接用户授权相应的权限。如果无法连接到MySQL服务器,请检查相关配置和权限设置。