普京网址 7

大约 350 个软件包仅在 Ubuntu 的普京网址: Focal,如果你想要将 MySQL 中的数据库迁移到 MariaDB

Ubuntu/Debian 项目的开发者 Matthias Klose 负责为 Ubuntu 20.04 LTS 移除
Python
2,目前已经做了大量的工作。近日他在邮件列表中同步更新了一些进度,并说道
Debian 中仍然存在大约 3300 个与 Python 2 软件包相关的错误,其中大约 1500
个错误已关闭。另外,大约 350 个软件包仅在 Ubuntu 的 Focal
仓库中可用,在上游 Debian 中不可用。

什么是Snap软件包

首先要说什么是「包」?Linux
中应用程序的安装通常有两种方式:其一,是直接通过源代码编译安装,需要用户手动执行脚本、处理依赖等不太人性化的操作;其二,是由软件发行商将应用程序打包成「软件包」进行交付,例如
Ubuntu 用户直接双击 .deb(Debian 软件包) 文件即可安装软件。

现在 Ubuntu 搞一个新的 Snap 包管理系统是因为基于 Debian .deb
文件并被大量使用的包管理方式不好吗?其实不然,它只对包管理进行了规范并更多会在类似无人机项目等物联网领域进行使用。

Canonical 官方是这么进行描述的:

.snap 包中包含了 Ubuntu 核心中的所有依赖关系,这比传统 .deb 或基于 RPM 的依赖处理更有优势。更重要的是,开发人员不必担心应用被分发到用户系统之后其它方面触发的系统变更。

怎样将 MySQL 迁移到 MariaDB 上

自从甲骨文收购 MySQL 后,由于甲骨文对 MySQL
的开发和维护更多倾向于闭门的立场,很多 MySQL
的开发者和用户放弃了它。在社区驱动下,促使更多人移到 MySQL
的另一个叫MariaDB的分支,在原有 MySQL 开发人员的带领下,MariaDB
的开发遵循开源的理念,并确保它的二进制格式与 MySQL 兼容。众多Linux
发行版例如Red Hat等都支持 MariaDB 作为 MySQL 的直接替换品。
普京网址 1
如果你想要将 MySQL 中的数据库迁移到 MariaDB
中,那么非常幸运,由于他们的二进制兼容性,MySQL-to-MariaDB
迁移过程是非常简单的。如果你按照下面的步骤,将 MySQL 迁移到 MariaDB
会是无痛的。

准备 MySQL 数据库和表

出于演示的目的,我们在做迁移之前在数据库中创建一个测试的 MySQL
数据库和表。如果你在 MySQL 中已经有了要迁移到 MariaDB
的数据库,跳过此步骤。否则,按以下步骤操作。

1.在终端输入 root 密码登录到 MySQL 。

$ mysql -u root -p

2.创建一个数据库和表。

mysql> create database test01;mysql> use test01;mysql> create table pet(name varchar(30), owner varchar(30), species varchar(20), sex char(1));

3.在表中添加一些数据。

mysql> insert into pet values('brandon','Jack','puddle','m'),('dixie','Danny','chihuahua','f');

4.退出 MySQL 数据库.

备份 MySQL 数据库

1.备份现有的 MySQL 数据库,使用下面的 mysqldump
命令导出现有的数据库到文件中。运行此命令之前,请确保你的 MySQL
服务器上启用了二进制日志。

$ mysqldump --all-databases --user=root --password --master-data > backupdb.sql

2.现在,在卸载 MySQL 之前先在系统上备份 my.cnf 文件。此步是可选的。

$ sudo cp /etc/mysql/my.cnf /opt/my.cnf.bak

卸载 MySQL

1.首先,停止 MySQL 服务,请从以下三个命令中任选一个执行

$ sudo service mysql stop  //RHEL6$ sudo systemctl stop mysql //RHEL7$ sudo /etc/init.d/mysql stop //RHEL6

2.使用以下命令移除 MySQL 和配置文件。
在基于 RPM 的系统上 (例如, CentOS, Fedora 或 RHEL):

$ sudo yum remove mysql* mysql-server mysql-devel mysql-libs$ sudo rm -rf /var/lib/mysql

在基于 Debian 的系统上(例如, Debian, Ubuntu 或 Mint):

$ sudo apt-get remove mysql-server mysql-client mysql-common$ sudo apt-get autoremove$ sudo apt-get autoclean$ sudo deluser mysql$ sudo rm -rf /var/lib/mysql

安装 MariaDB

在 CentOS/RHEL 7和Ubuntu(14.04或更高版本)上,最新的 MariaDB
已经包含在其官方源。在 Fedora 上,自19版本后MariaDB 已经替代了
MySQL。如果你使用的是旧版本或 LTS 类型如 Ubuntu 13.10
或更早的,你仍然可以通过添加其官方仓库来安装它,在MariaDB官网提供了一个在线工具帮助你依据你的
Linux 发行版中来添加MariaDB的官方仓库。此工具为 openSUSE, Arch Linux,
Mageia, Fedora, CentOS, RedHat, Mint, Ubuntu, 和 Debian 提供了 MariaDB
的官方仓库.
普京网址 2
1.在下面例子中,我们使用 Ubuntu 14.04 发行版和 CentOS 7 配置 MariaDB
库。

Ubuntu 14.04

$ sudo apt-get install software-properties-common$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db$ sudo add-apt-repository 'deb http://mirror.mephi.ru/mariadb/repo/5.5/ubuntu trusty main'$ sudo apt-get update$ sudo apt-get install mariadb-server

CentOS7

$ sudo vi /etc/yum.repos.d/MariaDB.repo  //创建自定义的yum源.......................................  //以下为文件内容[mariadb]name = MariaDBbaseurl = http://yum.mariadb.org/5.5/centos7-amd64gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=1.......................................$ sudo yum install MariaDB-server MariaDB-client//安装MariaDB

2.安装了所有必要的软件包后,你可能会被要求为 MariaDB 的 root
用户创建一个新密码。设置 root 的密码后,别忘了恢复备份的 my.cnf 文件。

$ sudo cp /opt/my.cnf /etc/mysql/

3.现在启动 MariaDB 服务,请从以下三条命令中任选其一你可以运行的。

$ sudo service mariadb start$ sudo systemctl start mariadb$ sudo /etc/init.d/mariadb start

将Mysql迁移至MariaDB

我们将以前导出的Mysql数据库导入到 MariaDB 服务器中。

$ mysql -u root -p < backupdb.sql

输入你 MariaDB 的 root
密码,数据库导入过程将开始。导入过程完成后,将返回到命令提示符下。

要检查导入过程是否完全成功,请登录到 MariaDB
服务器,并查看一些样本来检查。

$ mysql -u root -p......................................//以下为sql命令MariaDB [(none)]> show databases;MariaDB [(none)]> use test01;MariaDB [test01]> select * from pet;

普京网址 3

结论

如你在本教程中看到的,MySQL-to-MariaDB 的迁移并不难。你应该知道,MariaDB
相比 MySQL
有很多新的功能。至于配置方面,在我的测试情况下,我只是将我旧的 MySQL
配置文件(my.cnf)作为 MariaDB
的配置文件,导入过程完全没有出现任何问题。对于配置文件,我建议你在迁移之前请仔细阅读
MariaDB 配置选项的文件,特别是如果你正在使用 MySQL 的特定配置。

如果你正在运行有海量的表、包括群集或主从复制的数据库的复杂配置,看一看
Mozilla IT 和 Operations 团队的更详细的指南,或者MariaDB官方文档。

故障排除
在运行 mysqldump 命令备份数据库时出现以下错误。

mysqldump: Error: Binlogging on server not active

通过使用
“–master-data”,你可以在导出的输出中包含二进制日志信息,这对于数据库的复制和恢复是有用的。但是,二进制日志未在
MySQL 服务器启用。要解决这个错误,修改 my.cnf 文件,并在 [mysqld]
部分添加下面的选项。(LCTT
译注:事实上,如果你并没有启用二进制日志,那取消”–master-data”即可。)

log-bin=mysql-bin

保存 my.cnf 文件,并重新启动 MySQL 服务。

本文由LCTT原创翻译,本站仅做转载。

本文转载自:

MySQL 迁移到 MariaDB 上 自从甲骨文收购
MySQL 后,由于甲骨文对 MySQL 的开发和维护更多倾向于闭门的立场,很多
MySQL 的开发者和用户…

软件源

通常在Debian/Ubuntu中需要配置软件源,即文件/etc/apt/source.list。这是因为APT采用了集中式的软件仓库管理机制,软件仓库实际放置他各类的镜像服务器上(因此彼此之间需要定期同步)。source.list的列表项是方便用户连接到合适的镜像地址。为提高效率,通常为在本地建立一个软件资源的索引文件(又是需要apt update更新)以方便本地主机查询。

软件源的格式通常是4部分:

[archive type] [repository URL] [distribution] [component]
  • archive type有两种,deb表示二进制软件包,deb-src表示源代码软件包。
  • repository
    URL表示仓库地址,国内镜像站通常是https://mirrors.xxx.xxx/debian
    (如果是ubuntu,就替换debian)
  • distribution表示发行版本的代号,如Debian 9是stretch,Ubuntu
    17.04是zesty(来自完整的版本号Zesty Zapus)
  • component通常有maincontribnon-free三类,可以有多个,空格分隔
    (Ubuntu中是main、restricted、universe和multiverse)

distribution中可能会使用stable而不是特定的版本号;还会有相关的后缀-updates-proposed-updates-backports-security等。

另外除了在线资源,还可有本地的资源,通常是CD-ROM(系统安装盘)等。
例子:

deb  http://deb.debian.org/debian stretch main
deb-src  http://deb.debian.org/debian stretch main

deb  http://deb.debian.org/debian stretch-updates main
deb-src  http://deb.debian.org/debian stretch-updates main

deb http://security.debian.org/ stretch/updates main
deb-src http://security.debian.org/ stretch/updates main

补充Ubuntu PPA源:

PPA (Personal Package Archives)介绍
由launchpad.net(Ubuntu母公司Canonical架设)提供的个人软件包集合(非Ubuntu官方维护),允许用户建立自己的软件仓库,也用于发布一些测试版本的软件,因此可靠性上存在一定缺失。
使用add-apt-repository添加并更新列表后,就可以使用apt安装了。
参考: Ubuntu
PPA软件源的介绍与使用


所以 Matthias 认为当前的目标是将尽可能多的软件包从 Python 2 转换为
Python 3,不过这对于许多不再维护的软件包可能会成为问题。对于大多数不兼容
Python 3
的软件,如果没有人进行必要的移植,它最终将会从存档中删除。最后是一种情况更为特殊的软件,它们于 Ubuntu/Debian
而言十分重要,不过仅支持 Python 2。如何处理他们?Matthias
表示目前仍未确定,但目标是在 4 月 Ubuntu 20.04 LTS 发布之前移除 Python
2。

使用Snap软件包

通常我们都使用 apt-get 来管理 Ubuntu
中的软件包, 16.04 发布之后建议大家直接使用 apt 命令。与此类似,用户可以使用

snap find 命令来列出适用于当前系统的 Snap
软件包。

普京网址 4

安装 Snap 包可以使用如下命令:

sudo snap install <包名>

普京网址 5

查看当前系统中已安装的 Snap 软件包:

snap list

大家看到了吧,Ubuntu 16.04 的 Ubuntu 核心已经使用 Snap。

Snap 还提供了其对系统的更改历史记录,可以使用如下命令查看:

snap changes

普京网址 6

要升级 Snap 软件包版本,可以使用如下命令:

sudo snap refresh <包名>

移除 Snap 软件包使用如下命令:

sudo snap remove <包名>

普京网址 7

目前来看,采用 Snap
方式打包的软件非常少,不过国外已经有大的开源软件发行商已经公开表态将逐步开始采用
Snap 软件包发行软件。Canonical 也已经推出了 Snapcraft
工具帮助开发人员打包 Snap 应用。

Ubuntu 16.04 LTS正式发布下载,长达5年技术支持 

Ubuntu 16.04 U盘安装图文教程

Ubuntu 16.04 LTS安装好需要设置的15件事

Ubuntu 16.04 LTS 今日发布 Canonical公布系统新特性

将Ubuntu 15.10升级到Ubuntu 16.04 

Ubuntu 16.04安装Lua游戏引擎Love

Ubuntu 16.04 需要你的帮助,让 GNOME Software 更美观

16.04 LTS如何使用Snap软件包 Ubuntu 16.04
LTS 为用户带来了众多新功能特性,其中非常受关注的就有对 Snap
软件包的支持。据 Canonical 官方消…

软件包的操作命令

  • apt (apt-get/apt-cache/apt-config的精简结合)
apt 命令 等价的命令 命令的功能
apt install apt-get install 安装软件包
apt remove apt-get remove 移除软件包
apt purge apt-get purge 移除软件包及配置文件
apt update apt-get update 刷新存储库索引
apt upgrade apt-get upgrade 升级所有可升级的软件包
apt autoremove apt-get autoremove 自动删除不需要的包
apt full-upgrade apt-get dist-upgrade 在升级软件包时自动处理依赖关系
apt search apt-cache search 搜索应用程序
apt show apt-cache show 显示装细节
apt list 列出包含条件的包(已安装,可升级等)
apt edit-sources 编辑源列表

APT 包管理系统会将下载的 Deb包缓存在 /var/cache/apt/archives

  • apt-get 在线安装/移除/升级(需要使用sudo提升权限)
    apt-get是命令行形式的软件包管理工具。常用命令:
命令 含义
apt-get update 更新本地包数据库列表
apt-get upgrade 升级包(已安装的,不会删除)
apt-get dist-update 升级包(根据依赖会添加或删除包)
apt-get install packagename [p2 p3…] 安装软件包
apt-get install -y 包名 无需提示,默认参数直接安装
apt-get remove 包名 移除已安装的包
apt-get autoremove 自动移除已知不需要的包/依赖
apt-get autoclean
  • apt-cache 软件包相关信息查询
命令 含义
apt-cache search 搜索内容 搜索软件包(不需要完整名字)
apt-cache show 包名 查看软件包的(本地缓存)信息
  • apt-config 用于读取APT配置文件

  • dpkg 本地.deb包安装和管理

命令 含义
dpkg -s 包名 显示软件包的安装状态(-s, –status)
sudo dpkg -i 包文件名 安装软件包,包以.deb结尾 (-i, –install)
dpkg –info 包名 查看软件包的信息
  • aptitude:同时包含文本模式界面和图形界面
  • 其他
    • Gnome中software软件中心
    • Synaptic(新立得) 图形化软件
    • GDebi 图形化安装本地.deb包$ sudo apt install gdebi

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章