Mysql进行局域网内的数据库共享:如果发现有空格命名的数据库,要么跑路,要么把建库人头打歪!

Mysql实现局域网数据库共享

当想要使用Mysql进行局域网内数据库共享时,千万一定要注意,进行实验的这几台电脑的ip地址需要在同一个网段 ,并且这几台电脑都需要安装的有MySQL服务。

image

话不多说,开始肝!

image

首先: 检查, 要发布数据库的A机和想要访问的B机是否在同一网段

你以为不用?在一个实验室网段就一样?劝你还是检查下吧:相信我,世界这么大,它每天都会给你惊喜的。

image

“纸上得来终觉浅,绝知此事要躬行”

首先让A机的小伙伴,win+r 进入运行界面,输入cmd

image

输入命令 ipconfig/all 查看ip地址,找到ipv4地址

image

用同样的方法查看B机的ip地址

image

一定要确认好ip在同一网段后,再进行下一步考虑。真的,不在同一网段真没必要整了,真的没意思,物理上都连不通,还想白嫖,这明摆着欺负老实人。

image

不给资金还想外网也连通,这样的问题,就是再娴熟的技术也给他解决不了。

image

为什么说这些?你去工业界实习搬几天砖就知道了,只能说“社会很单纯,复杂的是人”。

image

另外,你在实习过程中,遇到不合理的项目需求一定要讲出来,你今天给他搞个APP,他明天就想让你根据手机壳来变换APP的颜色。

image

遇事不决,眼角膜来凑????

image

言归正传,幸好我们今天遇到的需求还算正常,确实在同一网段,还可以搞下局域网的部署。

一、进行数据库共享配置

点击win10系统图标旁边的放大镜, 输入mysql进行查找

image

找到mysql命令行客户端,双击打开客户端

image

按照提示输入密码

image

输入完成后,按下回车,即可进入mysql界面

image

输入以下命令可以查看mysql安装位置,以备不时之需

show variables like "%char%";

变量character_sets_dir对应的就是mysql安装位置

image

查看数据库,找到要共享的数据库

show databases;
image

例如,我们需要共享的数据库为tcm data, 选择tcm data数据库

use tcm data;

真是惊喜莲莲,竟然报错了

image

出现了,它出现了,巨坑它出现了!!!千万记得,以后再遇见mysql数据库中有空格命名的要么跑路,要么把建库人的头打歪!不要问我是怎么知道的

image

经过检查发现,原因是,数据库名字带空格。好吧,然后开始改名字,把空格去掉,放心吧,不出意外的话,另一个坑应该就来了。

image

果然,经过一番研究,你会发现navicat是不能直接改数据库名字的
image
image

还好这个数据库不大,我们直接新建数据库tcmdata 把tcm data的数据表直接复制过来。

新建数据库tcmdata

在任意一数据库处,右键---“new database”(新建数据库)

image

输入名字,字符集一般选择"utf8",排序一般选择“uft8_general_ci”,

image

选完后点击ok,即可在左侧看到新建好的数据库

image

对,就选这个没有空格的

开始复制表

将"tcm data"的表复制到tcmdata

image

选择最上方菜单栏,Tools工具栏---"Data transfer"数据传输

image

出现数据迁移对话框后,左侧表示数据源,右侧表示迁移目标

image

在数据源处,点击database右侧倒立小三角,选中tcm data 数据库

image

迁移目标(右边),选择好目标所在的localhost_3306

image

选择目标数据库,tcmdata

image

检查是否选中需要迁移的数据,一般默认全部选择了

image

点击start就可以开始迁移了

image

点击后,会出现确认对话框,点击ok即可

image

正在迁移中......

image

迁移完成后,文字最后一行会出现“Finished-Successfully” 对话框左上角会显示100%的字样,点击close关闭即可。

image

数据库处右键----点击refresh刷新

image

之后双击tcmdata查看,可以看到表格已经全部复制进来

image

肝到这儿,终于可以喝口水,压压惊

image

短暂的休息后,回到我们的主线任务:共享数据库

开始选择需要共享的数据库tcmdata

use tcmdata;
image

进行局域网访问共享

GRANT ALL PRIVILEGES ON *.* TO 'yourname'@'localhost'  IDENTIFIED BY 'yourpassword';

出现错误

image

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY '123456'' at line 1

开始填坑

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
image

然后再次,共享权限

grant select,delete,update,insert on tcmdata.* to 'root'@'183.170.55.28' identified by '123456';

仍然报错如下

image

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 123456' at line 1

原因分析:这是因为在新版本的mysql(8.xx版本)中,创建账户和赋予权限是两套独立的命令体系。

解决办法:

创建用户

create user username@'183.170.55.47' identified by 'password';
image

赋予权限:

grant all on *.* to username@'%' with grant option;

运行结果如下

image

刷新权限

flush privileges;
image

进入默认数据库

use mysql;
image

查看更新后的user表

select user, host from user;
image

开放端口3306

在防火墙防端开放端口3306的访问权限

image

点击左侧的选项“高级设置”

image

点击“入站规则”-----“新建规则”,进行规则设置

image

选择“端口”---“下一步”

image

在特定端口处填写“3306”---“下一步”

image

默认的就是“允许连接”---“下一步”

image

默认的就是全部类型的网络,直接点击“下一步”

image

输入名称和描述

image

以管理员身份启动CMD

image

关闭,再重启mysql服务,在系统CMD命令行中输入

net stop mysql

出现服务名无效的错误

image

这是因为没有将mysql注册到win服务里面去,在mysql命令行里输入,查看mysql安装路径。

show variables like "%char%";
image

根据这个路径C:\Program Files\MySQL\MySQL Server 8.0 在电脑端打开

在CMD中输入以下命令进入mysql的bin文件夹

cd C:\Program Files\MySQL\MySQL Server 8.0\bin
image

然后输入

mysqld --install

运行结果

image

开启mysql服务

net start mysql
image

删除mysql下的data文件,右键---删除

image

重新执行 mysqld --initialize 就可以在当前路径下生成data文件夹,

mysqld --initialize-insecure

再次执行net start mysql ,发现并没有成功启动mysql

image

发现mysql没有启动,初步猜测是因为权限问题,于是,重新打开cmd

右键---以管理员身份运行

image

运行后,发现仍然无法启动

image
image

于是进入路文件径C:\Program Files\MySQL\MySQL Server 8.0

image

在下面新建my.txt

# MySQL client library initialization.

保存后,将名字改为my.ini作为mysql配置文件

image

重启电脑

image

开机后,再次开启mysql

net start mysql

这次,服务启动成功

image

总结:重启电脑,可以解决90%的问题。

image

二、测试共享是否成功

在B机(局域网内的另一台电脑)上输入命令:

mysql -h 183.170.55.28 -uroot -p

出现输入密码提示框后,输入密码

image

发现出现链接错误

image

ERROR 1130 (HY000): Host 'DESKTOP-P1D5LQJ' is not allowed to connect to this MySQL server

这是因为ip地址动态更新,我们在A机(共享数据库的主机)

进入cmd查询使用现在的ip地址

ipconfig/all
image

发现A机的IP变成了183.170.55.47

于是我们在B机上使用以下命令连接A机(共享数据库的主机)

mysql -h 183.170.55.47 -uroot -p
image

发现又出现新的问题

image

ERROR 1045 (28000): Access denied for user 'root'@'183.170.55.28' (using password: YES)

原因分析:

我们没有给root用户授予权限,因为我们建的用户为“xwx”,

我们需要使用“xwx”用户连接数据库才行

mysql -h 183.170.55.47 -uxwx -p
image

发现登录成功

我们查看是否能看到共享的数据库

image

发现并没有我们共享的tcmdata数据库!!!

image

作为一名成年科研僧,生活在社会的底层,我们应该学会控制情绪了,你要告诉自己,自己一点都不难过,然后继续肝

image

原因分析:

我想这可能是因为共享的时候没有选择到tcmdata(想要共享的数据库),我们授予tcmdata数据库的所有表的操作权限给xwx用户

在A机(具有数据库的主机)上执行命令

grant all on tcmdata.* to 'xwx'@'%';
image

刷新权限

flush privileges;

在B机(通过局域网连接数据库的主机)上退出mysql后,重新登录

\q
image

重新登录

image

查看数据库,发现此时tcmdata已经可以查看到,这说明已经共享成功。

show databases;
image

查看数据库tcmdata

use tcmdata;
image
image

这说明,终于共享成功了!

如果你看完了,那么恭喜你,你已经掌握了mysql数据库共享的方法以及会可能出现的坑。恭喜你,你还是那个少年,你已经获得了力量~

image
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容