mysql数据库迁移
很多同学在进行编程学习时缺乏系统学习的资料。本页面基于mysql数据库迁移内容,从基础理论到综合实战,通过实用的知识类文章,标准的编程教程,丰富的视频课程,为您在mysql数据库迁移相关知识领域提供全面立体的资料补充。同时还包含 machine_start、macox、magellan 的知识内容,欢迎查阅!
mysql数据库迁移相关知识
-
MySQL数据库迁移data文件夹位置详细步骤由于yum安装mysql的时候,数据库的data目录默认是在/var/lib下,出于数据安全性的考虑需要把它挪到/data分区。步骤如下:一、关闭apache和mysql.复制代码 代码如下:service httpd stopservice mysqld stop二、将/var/lib下的mysql目录mv(移动)到data目录。为什么要用mv命令,而不用cp命令呢?应为linux文件系统特殊性,mv命令能保留文件的所有属性和权限,尤其是selinux属性。如果用cp命令,就需要回头再去设置mysql文件夹的selinux属性,本人因很头疼selinux故能避则避。复制代码 代码如下:mv -R /var/lib/mysql /data/mysql三、修改mysql配置文件/etc/my.cnf。将datadir和socket的路径改为/data目录下。复制代码 代码如下:[mysqld]#datadir=/var/lib/mysql
-
数据库系列:用navicat实现oracle和mysql数据库迁移1.要完成数据迁移当然要有源数据库,在本次示例中,源数据库是Oracle,目标数据库是mysql。反向迁移流程是类似的,不再累述。如果没有安装navicat,可到以下地址下载免激活版本:https://pan.baidu.com/s/1jIP5m4Y。 2.首先,在目标主机上建立目标数据库的表空间。此时表空间中并没有数据。 3.然后,打开navicat,建立navicat到源数据库的连接,注意,navicat的数据传输其实是数据输出而不是数据导入。可以由连接图标和连接端口注意到,此时连接到的数据库是oracle。 4.建立navicat到目标数据
-
从 SQL Server 到 MySQL (一):异构数据库迁移201803/migration-bird.png背景沪江成立于 2001 年,作为较早期的教育学习网站, 当时技术选型范围并不大: Java 的版本是 1.2,C# 尚未诞生,MySQL 还没有被 Sun 收购, 版本号是 3.23。 工程师们选择了当时最合适的微软体系,并在日后的岁月里, 逐步从 ASP 过度到 .net,数据库也跟随 SQL Server 进行版本升级。十几年过去了,技术社区已经发生了天翻地覆的变化。 沪江的技术栈还基本在 .net 体系上,这给业务持续发展带来了一些限制。 人才招聘、社区生态、架构优化、成本风险方面都面临挑战。 集团经过慎重考虑,发起了大规模的去 Windows 化项目。 这其中包含两个重点子项目:开发语言从 C# 迁移到 Java, 数据库从 SQL Server 迁移到 MySQL。本系列文章就是向大家介绍, 从 SQL Server 迁移到 MySQL 所面临的问题和我们的解决方案。迁移方案的基本流程设计迁移方案需要考量以下几个指标:迁移前后的数据一致性业务停机
-
将 Ghost 从 SQLite3 数据库迁移到 MySQL 数据库下面我们就来说说如何从 SQLite 迁移到 MySQL 。准备首先你要已经安装好 MySQL 数据库。如果你用的是 Ubuntu 系统,请参考这篇文章。其他系统请参考各自对应的文档。导出当前数据进入 http://your-domain.com/ghost/debug 页面:点击蓝色的 EXPORT 按钮将当前数据库中的所有数据导出并下载到本地,默认文件名是 GhostData.json 。切换数据库配置编辑 config.js 文件,在 production 配置段将数据库配置修改为 MySQL:?12javascript database: { client: 'mysql', connection: { host: 'localhost', //数据库所在服务器 user: '数据库登录名', password: '数据库登录密码', database: '数据库名称', charset: 'utf8'
mysql数据库迁移相关课程
mysql数据库迁移相关教程
- MySQL 创建数据库 前面章节介绍了如何登陆连接 MySQL 数据库,连接 MySQL 数据库之后就可以对数据库进行操作了,本小节将介绍如何创建一个属于自己项目的数据库。
- 4.创建、迁移模型,并添加数据 构建数据模型,是搭建 Restful Web API 的基础。构建模型,相当于构建数据库结构,且无需繁琐的 SQL 语言,另一个好处是,即使切换不同的数据库引擎(mysql 、SQL Server、Oracle等),也无需重新构建。下方我们构建一个学生信息表,包含学生姓名、学生年龄和学号。# models.pyfrom django.db import modelsclass StudentsInfo(models.Model): ''' 学生信息模型 ''' # 以下为学生信息表中的各个字段,CharField、IntegerField声明了字段类型分别为字符串类型和整型,max_length规定了字段最大长度,verbose_name相当于给字段取了一个别名,将来在管理页面会显示这个别名,否则显示字段名。例如,如果设置了verbose_name,那么在管理页面中,s_name字段将一“学生姓名”显示出来,如果没有设置verbose_name,则直接显示“s_name”。verbose_name只是方便用户以后的使用,设置与否不影响内部数据的存储。 s_name = models.CharField(max_length=8, verbose_name='学生姓名') s_age = models.IntegerField(verbose_name='学生年龄') s_number = models.CharField(max_length=16, verbose_name='学号')终端中运行命令以迁移模型python manage.py makemigrationspython migrate向数据库中添加演示数据,这里我们可以使用 PyCharm 自带的 Database 工具来完成。由于我们使用的是sqlite3 作为数据库,添加数据时,可双击左侧文件目录中的 db.sqlite3 文件,而后在右侧 Database 工具中双击要操作的数据表(AppDemo_studentsmodel)。在打开的数据表中,填入要填充的数据即可:
- 1. 什么是迁移学习 迁移学习,顾名思义,就是将学习任务迁移的意思。在实际的应用之中,我们遇到的好多学习任务都具有很强的相似性,比如图片分割任务和图片分类任务就很相似,因为他们都是对图片进行处理的任务。而对相似数据类型进行处理的任务的模型往往可以互相迁移使用,而不必重新训练一个新的模型,从而节省时间和空间的开支。在迁移学习的领域之中,图片处理的任务往往占据大多数,因为图片任务的处理往往都含有相似的部分 —— 提取特征。在实际的任务之中,我们往往会使用已经在大型数据集(比如 ImageNet )上训练得到的模型作为迁移学习的基本模型,以此来提取图片的特征,从而进行下一步的处理。简单来说就是:使用别人训练好的模型来做自己的学习任务。
- 2. 迁移学习的基本思路 迁移学习是一个非常宽泛的概念,其的种类包括很多,我们这里以图片任务为例来讲解迁移学习的基本思路:选择迁移学习的基本模型,一般为在大型数据集上训练的大型网络,比如:ResNet 网络;GoogLeNet 网络;Xception 网络;然后选择使用网络的哪些部分,一般使用除了顶层的所有部分;编写剩余的部分,也就是自己接下来的处理过程;训练自己编写的处理过程。这几个步骤看起来非常简单,在实际过程之中也是非常简单的,接下来我们就以在 ImageNet 超大数据集上训练的 Xception 模型作为基本模型进行迁移学习的演示。
- 1.3 实战 python 操作 MySQL 数据库 这里我们将使用前面提到的 mysqlclient 模块来操作 MySQL 数据库。第一步安装 mysqlclient 模块:$ pip3 install mysqlclient -i https://pypi.tuna.tsinghua.edu.cn/simple 安装好了之后,我们可以在 python 解释器中导入下模块:[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linuxType "help", "copyright", "credits" or "license" for more information.>>> import MySQLdb>>> MySQLdb.__version__'1.4.6'>>> 我们事先准备好了一个 MySQL 服务, 部署在云服务器上。本地安装好 mysql 客户端,然后通过如下方式连接 MySQL 数据库:[shen@shen ~]$ mysql -h 180.76.152.113 -P 9002 -u store -pstore.123@mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 68920Server version: 5.7.26 MySQL Community Server (GPL) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> 新建一个数据库,名为 django-manual,然后在该数据库中新建了一个简单的 user 表。接下来我们会使用 mysqlclient 模块对该 user 表中的数据进行增删改查操作:mysql> create database django_manual default charset utf8;Query OK, 1 row affected (0.14 sec)mysql> use django_manualDatabase changedMySQL [django_manual]> show tables;Empty set (0.00 sec)mysql> CREATE TABLE `user` ( -> `id` int(11) NOT NULL AUTO_INCREMENT, -> `name` char(30) NOT NULL, -> `password` char(10) NOT NULL, -> `email` char(30) NOT NULL, -> PRIMARY KEY (`id`) -> ) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARSET = utf8;mysql> show tables;+-------------------------+| Tables_in_django_manual |+-------------------------+| user |+-------------------------+1 row in set (0.00 sec)来看看如和使用 mysqlclient,模块操作数据库 django-manual。>>> import MySQLdb>>> conn = MySQLdb.connect(host='180.76.152.113', port=9002, user='store', passwd='store.123@', db='django_manual') # 连接数据库>>> sql = "insert into user(`name`, `password`, `email`) values ('test', 'xxxxxx', '222@qq.com')" # 插入数据的sql语句>>> cur = conn.cursor() # 获取游标>>> cur.execute(sql) # 执行sql语句1 >>> conn.commit() # 提交操作# commit 成功后,去另一个窗口查看 mysql 中的数据库数据mysql > select * from user;+----+------+----------+------------+| id | name | password | email |+----+------+----------+------------+| 10 | test | xxxxxx | 222@qq.com |+----+------+----------+------------+1 row in set (0.00 sec)这里我们可以看到 mysqlclient 模块中的几个常用方法:MySQLdb.connect() 方法:连接 mysql 数据库,会在这里输入 mysql 服务地址,开放端口,用户名和密码以及要使用到的数据库名;conn.cursor():创建游标,固定做法;cur.execute():通过游标的 execute() 方法可以执行 sql 语句,其返回值表示的是操作的记录数,比如这里我们新增了一条记录,返回的值为1;conn.commit():对于数据库有更新的动作,比如新增数据、修改数据和删除数据等,最后需要使用 commit() 方法提交动作,而对于查询操作而言则不需要。如果想自动 commit 动作,也是有办法的:>>> conn = MySQLdb.connect(...)>>> conn.autocommit(True)>>> ...上面是新增单条记录,我们也可以新增多条记录,操作如下:>>> # 在前面的基础上继续执行>>> conn.autocommit(True) # 设置自动提交>>> cur = conn.cursor()>>> data = (('user%d' % i, 'xxxxxx', '28%d@qq.com' % i) for i in range(10))>>> cur.executemany('insert into user(`name`, `password`, `email`) values (%s, %s, %s);', data)10# 在另一个窗口,可以看到 user 表中的记录已经有11条了select count(*) from user;+----------+| count(*) |+----------+| 11 |+----------+1 row in set (0.00 sec)这里插入多条数据,使用的是游标的 executemany() 方法。如果在插入多条记录中遇到异常,需要执行回滚动作,一般写法如下:conn = MySQLdb.connect(...)try: # 执行动作 ...except Exception as e: conn.rollback()此外,我们一般用到的比较多的是查询相关的操作。这里有游标的方法:fetchone():只取一条记录,然后游标后移一位;fetchmany():取多条记录,参数为获取的记录数,执行完后游标移动相应位置;fetchall():取出 sql 执行的所有记录,游标移动至末尾;下面我们用前面生成的 11 条记录来进行操作:>>> # 假设前面已经获得连接信息conn和游标cur>>> sql = 'select * from user where 1=1 and name like "user%"'>>> cur.execute(sql)10>>> data1 = cur.fetchone()>>> print(data1)(11, 'user0', 'xxxxxx', '280@qq.com')# 看到再次获取一条记录时,取得是下一条数据>>> data2 = cur.fetchone()>>> print(data2)(12, 'user1', 'xxxxxx', '281@qq.com')# 这次获取5条数据,从user2开始>>> data3 = cur.fetchmany(5)>>> print(data3)((13, 'user2', 'xxxxxx', '282@qq.com'), (14, 'user3', 'xxxxxx', '283@qq.com'), (15, 'user4', 'xxxxxx', '284@qq.com'), (16, 'user5', 'xxxxxx', '285@qq.com'), (17, 'user6', 'xxxxxx', '286@qq.com'))# 最后用fetchall()方法获取最后的所有数据,还剩下10-1-1-5=3条记录>>> print(data4)((18, 'user7', 'xxxxxx', '287@qq.com'), (19, 'user8', 'xxxxxx', '288@qq.com'), (20, 'user9', 'xxxxxx', '289@qq.com'))# 游标指向最后位置,再次获取时已经没有数据了>>> data5 = cur.fetchone()>>> print(data5)None通过上面的代码演示,我想我们应该理解游标的作用了,就是每执行一次 fetch 函数,对应的游标会向后移动相应位置。
- 2.4 数据库中生成模型表 接下来,我们需要使用 Django 给我们提供的两个命令来在数据库中生成 hello_app 应用下定义的数据模型。注意: Member 类映射的表名默认是【应用名_类名小写】,然而在前面的模型代码中我们通过 model 的 Meta 类中的 db_table 参数改写了数据库的具体名称,所以最后数据库中生成的表名为 member,而不是 hello_app_member。(django-manual) [root@server first_django_app]# python manage.py makemigrations hello_appMigrations for 'hello_app': hello_app/migrations/0001_initial.py - Create model Member(django-manual) [root@server first_django_app]# python manage.py migrate hello_appOperations to perform: Apply all migrations: hello_appRunning migrations: Applying hello_app.0001_initial... OK执行完成后,此时 hello_app 应用下的所有 model 就会被映射到 MySQL 数据库中,且会对应生成相应的模型表(此外还有一个迁移记录表 django_migrations):MySQL [django_manual]> show tables;+-------------------------+| Tables_in_django_manual |+-------------------------+| django_migrations || member || user |+-------------------------+3 rows in set (0.00 sec)我们还可以通过 show create table 表名 命令显示表的创建语句:MySQL [django_manual]> show create table member;+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Table | Create Table |+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| member | CREATE TABLE `member` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(30) NOT NULL, `age` varchar(30) NOT NULL, `sex` smallint(6) NOT NULL, `occupation` varchar(30) NOT NULL, `phone_num` varchar(14) NOT NULL, `email` varchar(254) NOT NULL, `city` varchar(30) NOT NULL, `register_date` datetime(6) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 |+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)
mysql数据库迁移相关搜索
-
mac osx
machine_start
macox
magellan
malloc
manifest
manifest文件
map
map 遍历
mapreduce编程
maps google com
margin
margin bottom
margin left
margin right
margin top
marginbottom
marginheight
marginleft
margintop