如何在Pycharm中连接配置MySQL数据库 |
您所在的位置:网站首页 › navicat数据表里添加数据 › 如何在Pycharm中连接配置MySQL数据库 |
jetbrains全家桶激活 idea、pycharm、webstorm等全套激活!仅需15元!点击购买!
我们运用Pycharm制作软件的时候,经常需要连接MYSQL数据库。那么在Pycharm中如何配置MYSQL的连接呢?下面我给大家分享一下。 工具/材料Pycharm 01打开Pycharm软件,点击顶部的Views菜单,选择下拉菜单中的Tool Windows选项,然后选择DataBase,如下图所示 02在右侧的Database设置界面中点击加号,选择Data Source下面的Mysql选项,如下图所示 03接下来会弹出Data Source设置界面,我们这里需要填写Mysql的连接地址以及用户名密码,如下图所示 04然后点击底部的Download连接下载数据库连接的驱动程序,如下图所示 05安装好驱动以后,点击Test Connection按钮测试一下连接是否成功,如下图所示 06这个时候会弹出安全警报界面,我们不需要担心,直接点击允许访问即可,如下图所示 07当按钮右侧出现Successful时则代表数据库连接成功,如下图所示 08最后回到Pycharm主界面,在右侧的Database界面我们可以看到数据库已经加载到Pycharm中去了,如下图所示 IDEA软件开发集成工具,常用于java软件项目开发,软件项目中使用到了mysql数据库存储数据的时候,需要使用客户端图形化工具连接数据查看或修改数据内容,使用IDEA就可以直接连接数据库查询或修改数据,不需要再单独下载数据库客户端软件了,下面我介绍下如何使用IDEA连接mysql数据库查询数据内容的方法:1、 打开IDEA软件工具,正常打开一个项目工程之后,在工具类的右侧会看到Database图标,点击打开之后,如果之前没有连接过任何数据库,这个窗口页面都是空的点击如图所示的加号按钮,创建一个新的数据库连接 2、选择Data Source,然后再选择MySQL,这里可以看到支持很多种数据库类型,这里选择您自己对应使用的数据库类型,这里我们演示使用的是mysql数据库 3、在这个页面需要填写连接的数据库host,数据库名称,用户名以及密码,端口如果是mysql默认是3306,如果没有修改保持默认即可 4、连接mysql需要配置mysql连接的数据库驱动文件,如果没有配置的话,会提示没有可用的驱动,在页面点击加号按钮找到电脑的驱动文件位置、添加上即可 5、驱动文件和连接配置信息填写完成之后,点击Test Connection按钮测试连接是否可以正常连接,当出现Connection successful提示即表示测试连接成功,以上配置信息填写正确 6、直接点击确定按钮,即可正常打开连接进行mysql数据库内容的查询了,可以看到tables是数据库表,下面是函数对象
7、在某个表名称上,双击鼠标左键,即可打开表数据内容窗口,查询到了数据表中内容数据,可以针对数据进行增删改查等操作 8、从以上操作可以看到,一般写代码一般调试数据的时候,可以都在IDEA工具中完成了,不需要再多次切换工具那么麻烦了。 于项目升级或者服务器更换,需要将数据从一个数据库服务转移到另一个数据库服务中。两个数据库所在的服务器的公网IP分别为x.x.x.x和y.y.y.y。进行MySQL数据迁移之前,需要做一些准备工作,即两台服务器上配置相同环境。需要在公网IP分别为x.x.x.x和y.y.y.y的服务器上都安装mysql-5.7.37。 准备工作 第一步,下载mysql-5.7.37。 第二步,配置mysql。 第三步,安装mysql-5.7.37。 第四步,远程连接另一台服务器上的mysql。 第五步,不进入mysql根目录即可进行相应的操作。 MySQL数据迁移常用方法 MySQL数据迁移一般可分为物理迁移和逻辑迁移。 物理迁移适用于海量数据整体迁移,可以直接复制数据文件或使用navicat来进行备份迁移。不同的服务器之间采用物理迁移需要将两台服务器中的MySQL server保持完全一样的版本、配置和权限。这种物理迁移优点是速度快,缺点是要求新服务器与原服务器配置完全一致,即便如此也有可能引起一些未知错误。 如果规模较小,业务也并不繁忙,推荐使用mysqldump即逻辑迁移法,它相对来说更轻巧、稳健一些。mysqldump的原理是在导入到新数据库时,先将原数据库表结构使用CREATE TABLE 'table'语句创建,然后在使用INSERT将原数据导入至新表中。可以理解为一个批量导入脚本。这样按照规范命令导入数据,大幅减少奇怪的未知错误出现。 第一种方案:物理迁移-使用navicat 第一步,下载并安装Navicat。 到网址https://www.navicat.com/en/download/navicat-premium下载需要的Navicat软件,之后在Windows系统中安装。安装成功后,然后进行数据库连接。 第二步,选择要导出的数据库ZJZK2022,格式为.sql。 具体操作:选中ZJZK2022,然后右键:转储SQL -结构+数据 -选择路径。得到需要的.sql文件。 第三步,将.sql文件导入新服务器数据库中。 如果根据已有的SQL文件执行数据导入,那么可以直接在打开一个数据库后,新建一个查询窗口,然后将sql文件中的内容粘贴到窗口中执行即可,这种方式同时适用于单表数据导入与数据库整体导入。 如果想要进行整个数据库的数据导入,也可以直接选中新服务器IP,右键:运行SQL。然后选择之前导出的数据库sql文件,最后点击“开始”。可以得到与之前服务器数据库中相同的数据。 第二种方案:逻辑迁移-使用mysqldump 登录远程服务器,在服务器中导出数据库 第一步,登录公网IP为x.x.x.x的阿里云ECS服务器。 第二步,将需要迁移的原数据库ZJZK2022中的数据导出,生成*.sql文件。 命令:service mysql start /mnt/mysql/mysql-5.7.37/bin/mysqldump -u root -p --opt ZJZK2022 /tmp/ZJZK2022-data-export.sql 然后输入登录密码“123456”。 执行mysqldump命令后,若没有报错,则shel不会有任何结果显示。 注释:ZJZK2022——本次准备迁移的数据库; /tmp/ZJZK2022-data-export.sql——导出时生成的数据文件存放的位置与文件名; --opt——此命令参数开启代表着同时激活了quick、add-drop-table、add-locks、extended-insert和lock-tables 参数; quick——忽略缓存,直接将数据导出到*.sql文件中; add-drop-table——在每个CREATE TABEL命令之前增加DROP-TABLE IF EXISTS语句,防止数据表重名; add-locks——在备份数据表前后添加表锁定与解锁 SQL 语句; extended-insert——此参数表示可以多行插入,提高导入效率,开启与否导入效率相差数倍,推荐开启。 第三步,进入导出目录查看导出结果。 命令:cd /tmp ls 若结果显示ZJZK2022-data-export.sql,则说明文件已经生成。 无服务器,独立MySQL数据库远程导出至本地计算机 如果在阿里云购买的不是一台服务器,而是一个独立MySQL数据库的话,那也可以将数据库导出至本地计算机。 命令:service mysql start /mnt/mysql/mysql-5.7.37/bin/mysqldump -h y.y.y.y -u ZJZK2022-remote -p -P3306 --default-character-set=utf8 --set-gtid-purged=OFF --column-statistics=0 ZJZK2022 /Desktop/ZJZK2022-data-export.sql 注释:y.y.y.y——远程数据库ip地址; ZJZK2022-remote——拥有远程访问权限的数据库账号; -P 3306——数据库访问端口,可根据自己情况修改; default-character-set=utf8——导出时指定字符集; set-gtid-purged=OFF——全局事务 ID (GTID) 来强化数据库的主备一致性,故障恢复,以及容错能力。开启这个功能导入导出时,可能会出错,故关闭; /Desktop/ZJZK2022-data-export.sql——本地计算机保存路径及保存文件名。 提示:mysqldump常见报错:mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"') 可在命令中添加column-statistics=0参数。因MySQL数据库早期版本information_schema数据库中没有名为COLUMN_STATISTICS的数据表,新版mysqldump默认启用,我们可以通过此命令禁用它。 执行命令后,若没有报错,则shel不会有任何结果显示,但已经可以在桌面上看到导出后生成的文件。 复制 *.sql 至新数据库/新服务器 使用WinSCP将导出的*.sql文件传送到内网IP为y1.y1.y1.y1的新服务器对应的路径中。 命令:scp /tmp/ZJZK2022-data-export.sql [email protected]:/tmp/ 输入连接[email protected]的密码“654321”。 若结果显示“WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED”,则说明出现错误。可以使用命令“ssh-keygen -R y1.y1.y1.y1”,然后重新尝试连接,输入yes,按下回车,成功连接。 若结果显示“ZJZK2022.sql 100% 7191 2.6MB/s 00:00”,则说明数据传送成功。 如果购买的是独立MySQL数据库的话,也可以直接在阿里云服务器中直接向新服务器MySQL数据库导入数据。 导入数据库 方法一:本地数据库*.sql文件导入 第一步,当数据传输到公网IP为y.y.y.y的服务器后,可以在此服务器上新建一个名为ZJZK2022_new数据库,然后使用mysql命令直接导入数据库。 要将*.sql导入到数据库中,首先以root或有足够权限的账号登录MySQL。 命令:service mysql start cd /mnt/mysql/mysql-5.7.37/bin ./mysql -u root -p 然后输入登录密码“123456”,就可以进入MySQL shell状态。 接着创建一个名为ZJZK2022_new的新数据库。 命令:mysqlCREATE DATABASE ZJZK2022_new 若执行命令后返回内容显示“Query OK, 1 row affected (0.00 sec)”,则说明新数据库创建成功。 然后使用“CTRL+D”退出MySQL shell。 最后导入数据库文件/tmp/ZJZK2022-data-export.sql。 命令:/mnt/mysql/mysql-5.7.37/bin/mysql -u root -p ZJZK2022_new /tmp/ZJZK2022-data-export.sql 若运行成功,则命令行不会有任何提示。 若运行失败,则命令行会提示失败原因。 注释:root——可以登录数据库的用户名; ZJZK2022_new——刚刚新建的空数据库,数据会导入到该数据库中; /tmp/ZJZK2022-data-export.sql——之前导出的sql文件,把它再导入到新数据库中。 第二步,要检测是否导入成功,可以登录到MySQL查看并检查数据库中的数据。 命令:cd /mnt/mysql/mysql-5.7.37/bin ./mysql -u root -p 然后输入登录密码“123456”,就可以进入MySQL shell状态。 # 选择刚刚导入数据的新建数据库 mysqlUSE ZJZK2022_new # 查看数据库中包含的表 mysqlSHOW TABLES # 打开表查看内容 mysqlSELECT * FROM users 若结果显示的内容与公网IP为x.x.x.x的服务器中的数据库的内容一致,则说明mysql数据迁移成功。 方法二:在阿里云服务器中,直接远程将数据导入至新服务器 如果购买的是独立数据库的话,那么就没办法先把*.sql存过去,再导入。所以我们可以直接在阿里云服务器上发起导入操作,直接导入至新服务器。 命令:/mnt/mysql/mysql-5.7.37/bin/mysql -h ZJZK2022_new -u root -p -P10010 ZJZK2022_new /tmp/ZJZK2022-data-export.sql 注释:ZJZK2022_new——新服务器MySQL数据库地址; -P——数据库端口。 数据导入至新服务器MySQL,命令执行成功后,并不会有任何提示。登录新服务器数据库可以看到迁移结果。 远程登录新服务器MySQL,查看导入情况。 公网IP分别为x.x.x.x和y.y.y.y的服务器都已经安装好了mysql数据库。 忘记MySQL的登录密码,通过重置密码解决 命令:cd /mnt/mysql/mysql-5.7.37/bin ./mysql -u root -p123456 若结果显示“ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)”,则说明mysql的root用户密码错误,需要重置密码,然后用新密码重新登录数据库。具体做法如下: 1)停止mysql数据库。 命令:service mysql stop 2)新建文件夹/usr/local/mysql/data。 命令:mkdir -p /usr/local/mysql/data 3)启动mysql,并以不检查权限的情况下启动。 命令:mysqld --skip-grant-tables mysqld --user=root --skip-grant-tables 4)登录mysql,修改密码,刷新权限。 命令:mysql -uroot mysqlUPDATE mysql.user SET Password=PASSWORD('123456') where USER='root' mysqlflush privileges mysqlexit 5)重启之后输入“mysql -uroot -p123456”即可进入mysql。 不进入mysql根目录即可进行相应的操作 第一步,在两台服务器上都配置环境变量。 在文件/etc/profile中添加下面的代码: export PATH=$PATH:/mnt/mysql/mysql-5.7.37/bin # 使profile文件生效 命令:source /etc/profile # 导出数据 mysqldump -u root -p --opt ZJZK2022 /tmp/ZJZK2022-data-export.sql # 导入数据 mysql -uroot -p123456 mysql -u root -p ZJZK2022_new /tmp/ZJZK2022-data-export.sql mysql -h ZJZK2022_new -u root -p -P10010 ZJZK2022_new /tmp/ZJZK2022-data-export.sql 第二步,在公网IP为y.y.y.y的服务器中将需要迁移的原数据库ZJZK2022中数据导出,生成*.sql文件,生成的文件仍在本服务器中。 1)可以在文件夹/mnt/mysql中创建一个名为mysql_export的脚本。 脚本代码如下: # 执行MySQL命令 #!/bin/bash export MYSQL_PWD='123456' /mnt/mysql/mysql-5.7.37/bin/mysqldump -u root -p --opt ZJZK2022 /tmp/ZJZK2022-data-export.sql 2)把启动脚本放到开机初始化目录 命令:cp /mnt/mysql/mysql_export /etc/init.d/mysql_export #赋予可执行权限 命令:chmod +x /etc/init.d/mysql_export #添加服务 命令:chkconfig --add mysql_export #启动mysql_sign服务 命令:service mysql_export start 展开阅读全文 欢迎分享,转载请注明来源:内存溢出 原文地址:https://outofmemory.cn/zaji/8536780.html |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |