在 CentOS 6.2 中将 MySQL 版本从 5.1 更新到 5.5

发布于 2025-01-07 20:27:01 字数 1845 浏览 0 评论 0 原文

我尝试在 CentOS 6.2 中将 MySQL 从 5.1 更新到 5.5。以下是我所做的过程:

1. rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm
2. yum install libmysqlclient15 --enablerepo=webtatic
3. yum remove mysql mysql-*
4. yum install mysql55 mysql55-server --enablerepo=webtatic

当我尝试第四步时,我得到以下输出:

[root@d2005 /]# yum install mysql55 mysql55-server --enablerepo=webtatic
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, presto
Loading mirror speeds from cached hostfile
 * base: yum.singlehop.com
 * extras: centos.mirrors.tds.net
 * updates: pubmirrors.reflected.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mysql55.x86_64 0:5.5.10-1.w5 will be installed
--> Processing Dependency: mysql55-libs = 5.5.10-1.w5 for package: mysql55-5.5.10-1.w5.x86_64
---> Package mysql55-server.x86_64 0:5.5.10-1.w5 will be installed
--> Processing Dependency: perl-DBD-MySQL for package: mysql55-server-5.5.10-1.w5.x86_64
--> Running transaction check
---> Package mysql55-libs.x86_64 0:5.5.10-1.w5 will be installed
---> Package perl-DBD-MySQL.x86_64 0:4.013-3.el6 will be installed
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Running transaction check
---> Package mysql-libs.x86_64 0:5.1.61-1.el6_2.1 will be installed
--> Processing Conflict: mysql55-libs-5.5.10-1.w5.x86_64 conflicts mysql-libs < 5.5.10
--> Finished Dependency Resolution
Error: mysql55-libs conflicts with mysql-libs
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

如何修复它?

I tried to update MySQL from 5.1 to 5.5 in CentOS 6.2. The following is the process I did:

1. rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm
2. yum install libmysqlclient15 --enablerepo=webtatic
3. yum remove mysql mysql-*
4. yum install mysql55 mysql55-server --enablerepo=webtatic

When I tried the 4th step, I got the following output:

[root@d2005 /]# yum install mysql55 mysql55-server --enablerepo=webtatic
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, presto
Loading mirror speeds from cached hostfile
 * base: yum.singlehop.com
 * extras: centos.mirrors.tds.net
 * updates: pubmirrors.reflected.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mysql55.x86_64 0:5.5.10-1.w5 will be installed
--> Processing Dependency: mysql55-libs = 5.5.10-1.w5 for package: mysql55-5.5.10-1.w5.x86_64
---> Package mysql55-server.x86_64 0:5.5.10-1.w5 will be installed
--> Processing Dependency: perl-DBD-MySQL for package: mysql55-server-5.5.10-1.w5.x86_64
--> Running transaction check
---> Package mysql55-libs.x86_64 0:5.5.10-1.w5 will be installed
---> Package perl-DBD-MySQL.x86_64 0:4.013-3.el6 will be installed
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Running transaction check
---> Package mysql-libs.x86_64 0:5.1.61-1.el6_2.1 will be installed
--> Processing Conflict: mysql55-libs-5.5.10-1.w5.x86_64 conflicts mysql-libs < 5.5.10
--> Finished Dependency Resolution
Error: mysql55-libs conflicts with mysql-libs
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

How to fix it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

臻嫒无言 2025-01-14 20:27:01

列出旧的 MySql

yum list installed | grep -i mysql

删除旧的 MySql

yum remove mysql mysql-*

Remi 对 CentOS 6 和 Red Hat (RHEL) 6 的依赖

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

安装 MySQL 服务器

yum --enablerepo=remi,remi-test install mysql mysql-server

列出新的 MySql

yum list installed | grep -i mysql

启动 MySql 服务器

/etc/init.d/mysqld start ## use restart更新后

service mysqld start ## 更新后使用重新启动

chkconfig --levels 235 mysqld on

最后

mysql_upgrade -u root -p

现在我的 MySql 版本是 5.5.32

Ref:

http://www.webtatic.com/packages/mysql55/

http://www.if-not-true-then-false.com/2010/install-mysql-on-fedora-centos-red-hat-rhel/

希望对一些人有所帮助一个

注意:
添加来自 @pim 的评论(在评论中)

Just wanted to add that after the upgrade, my crontab was removed as well. Had to reinstall with "yum install vixie-cron" (CentOS 6) 

To list Old MySql

yum list installed | grep -i mysql

To remove Old MySql

yum remove mysql mysql-*

Remi Dependency on CentOS 6 and Red Hat (RHEL) 6

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Install MySQL server

yum --enablerepo=remi,remi-test install mysql mysql-server

To list New MySql

yum list installed | grep -i mysql

start MySql server

/etc/init.d/mysqld start ## use restart after update

OR

service mysqld start ## use restart after update

chkconfig --levels 235 mysqld on

Last

mysql_upgrade -u root -p

Now my MySql version is 5.5.32

Ref:

http://www.webtatic.com/packages/mysql55/

http://www.if-not-true-then-false.com/2010/install-mysql-on-fedora-centos-red-hat-rhel/

Hope it help some one

NOTE:
Adding comments from @pim (in comments)

Just wanted to add that after the upgrade, my crontab was removed as well. Had to reinstall with "yum install vixie-cron" (CentOS 6) 
陪你到最终 2025-01-14 20:27:01

我使用以下命令添加新的 YUM 存储库并进行更新:

下载 Remi 存储库

cd /etc/yum.repos.d
wget http://rpms.famillecollet.com/enterprise/remi.repo

安装/更新 mysql 版本

yum --enablerepo=remi install mysql-server

yum --enablerepo=remi update mysql-server

I used the following commands to add a new YUM repo and make the update:

Download the Remi repo

cd /etc/yum.repos.d
wget http://rpms.famillecollet.com/enterprise/remi.repo

Install/Update the mysql version

yum --enablerepo=remi install mysql-server

OR

yum --enablerepo=remi update mysql-server
梦归所梦 2025-01-14 20:27:01

2015/08/19 - 对于那些在具有匹配操作系统(通常是 32 位机器)的旧(但仍然不错)硬件上工作的人。

-- 这将升级到 mysql 5.6 社区而不是 5.5 --

经过一些研究和混合/匹配/测试在互联网各个页面上找到的答案(主要来自此页面和 http://dev.mysql.com/doc/refman/5.6/en/linux-installation-yum-repo.html)。
我的操作系统附带 mysql 5.1,我想要 5.6。

我的系统

[root@host]# cat /etc/*release 
CentOS release 6.7 (Final)
[root@host]# uname -a
Linux host 2.6.32-573.3.1.el6.i686 #1 SMP Thu Aug 13 19:58:36 UTC 2015 i686 i686 i386 GNU/Linux
[root@host]# arch
i686

安装在 2006 mac pro 1.1 上(CPU 升级到 3.0GHz Intel Xeon X5365 四核)。

我运行的命令

这几乎是在全新安装操作系统并通过 yum 进行系统更新后立即完成的

list mysql 当前安装的

yum list installed | grep -i mysql

删除已安装的 msql

yum remove mysql mysql-*

list mysql 当前安装的

yum list installed | grep -i mysql

下载包含 mysql 5.6 的 rpm

wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

安装 mysql 列出

rpm -Uvh mysql-community-release-el6-5.noarch.rpm
yum install mysql mysql-server

当前安装的 mysql

yum list installed | grep -i mysql

确保 mysql 在重新启动时启动

chkconfig --list mysqld
sudo chkconfig mysqld on
chkconfig --list mysqld

启动 mysql

service mysqld start
service mysqld status

结果

[root@host]# yum list installed | grep -i mysql
compat-mysql51.i686     5.1.54-1.el6.remi @remi                                 
mysql-community-client.i686
                        5.6.26-2.el6      @mysql56-community                    
mysql-community-common.i686
                        5.6.26-2.el6      @mysql56-community                    
mysql-community-libs.i686
                        5.6.26-2.el6      @mysql56-community                    
mysql-community-release.noarch
mysql-community-server.i686
                        5.6.26-2.el6      @mysql56-community                    
perl-DBD-MySQL.i686     4.013-3.el6       @base


[root@host]# mysql --version
mysql  Ver 14.14 Distrib 5.6.26, for Linux (i686) using  EditLine wrapper

mysql 配置(我还没有接触过这个,但信息似乎是合法的)

Some interesting basic but efficient performance tuning for mysql:

https://www.digitalocean .com/community/tutorials/how-to-install-mysql-5-6-from-official-yum-repositories

祝你好运!

编辑

我在创建用户和授予权限时遇到了一些问题,这是如何修复的。

错误

ERROR 1054 (42S22) at line 1: Unknown column 'plugin' in 'mysql.user'

修复

  1. 以 root 身份登录服务器
  2. 使用简单的 mysql 连接到 mysql
  3. 检查此语句的结果:SELECT COUNT(1) column_count FROM information_schema.columns WHERE table_schema='mysql' AND table_name ='user'; 结果是 39,对于 mysql 5.6 预计是 43
  4. 发出此语句来更新 root 密码: update mysql.user set Password=PASSWORD('root') where User='root';
  5. (使用 exit 注销 mysql)
  6. 使用以下命令重新启动 mysql:service mysqld restart
  7. Ran: < code>mysql_upgrade -uroot -proot --force
  8. 使用 mysql -uroot -proot 重新连接到 mysql
  9. 检查此语句的结果:SELECT COUNT(1) column_count FROM information_schema.columns WHERE table_schema='mysql' AND table_name='user'; 结果为 43,与 mysql 5.6 的预期一致。然后,我可以创建用户并根据需要授予权限。

2015/08/19 - For those of you working on older (but still decent) hardware with a matching OS (typically 32 bit machines).

-- This will upgrade to mysql 5.6 community not 5.5 --

This worked for me after some research and mixing/matching/testing the answers found on various page of the internet (mainly from this page and http://dev.mysql.com/doc/refman/5.6/en/linux-installation-yum-repo.html).
My OS shipped with mysql 5.1, I wanted to have 5.6.

My system

[root@host]# cat /etc/*release 
CentOS release 6.7 (Final)
[root@host]# uname -a
Linux host 2.6.32-573.3.1.el6.i686 #1 SMP Thu Aug 13 19:58:36 UTC 2015 i686 i686 i386 GNU/Linux
[root@host]# arch
i686

This is installed on a 2006 mac pro 1.1 (CPUs upgraded to 3.0GHz Intel Xeon X5365 Quad-Core).

Commands I ran

This was done almost immediately after a fresh install of the OS and system update via yum

list mysql currently installed

yum list installed | grep -i mysql

remove installed msql

yum remove mysql mysql-*

list mysql currently installed

yum list installed | grep -i mysql

Download rpm containing mysql 5.6

wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

Install mysql

rpm -Uvh mysql-community-release-el6-5.noarch.rpm
yum install mysql mysql-server

list mysql currently installed

yum list installed | grep -i mysql

ensure mysql starts on reboot

chkconfig --list mysqld
sudo chkconfig mysqld on
chkconfig --list mysqld

Start mysql

service mysqld start
service mysqld status

Result

[root@host]# yum list installed | grep -i mysql
compat-mysql51.i686     5.1.54-1.el6.remi @remi                                 
mysql-community-client.i686
                        5.6.26-2.el6      @mysql56-community                    
mysql-community-common.i686
                        5.6.26-2.el6      @mysql56-community                    
mysql-community-libs.i686
                        5.6.26-2.el6      @mysql56-community                    
mysql-community-release.noarch
mysql-community-server.i686
                        5.6.26-2.el6      @mysql56-community                    
perl-DBD-MySQL.i686     4.013-3.el6       @base


[root@host]# mysql --version
mysql  Ver 14.14 Distrib 5.6.26, for Linux (i686) using  EditLine wrapper

mysql config (I did not touch this yet but the info seems legit)

Some interesting basic but efficient performance tuning for mysql:

https://www.digitalocean.com/community/tutorials/how-to-install-mysql-5-6-from-official-yum-repositories

Good luck!

Edit

I had some issues creating users and granting permissions, this how it was fixed.

Error

ERROR 1054 (42S22) at line 1: Unknown column 'plugin' in 'mysql.user'

Fix

  1. Logged on the server as root
  2. Connected to mysql with a simple mysql
  3. Checked the outcome of this statement: SELECT COUNT(1) column_count FROM information_schema.columns WHERE table_schema='mysql' AND table_name='user'; The result was 39, 43 is expected for mysql 5.6
  4. Issued this statement to update the root password: update mysql.user set Password=PASSWORD('root') where User='root';
  5. (Logged off mysql with exit)
  6. Restarted mysql with: service mysqld restart
  7. Ran: mysql_upgrade -uroot -proot --force
  8. Reconnected to mysql with mysql -uroot -proot
  9. Checked the outcome of this statement: SELECT COUNT(1) column_count FROM information_schema.columns WHERE table_schema='mysql' AND table_name='user'; The result was 43 as expected for mysql 5.6. I was then able to create my users and grant permissions as needed.
巷雨优美回忆 2025-01-14 20:27:01

您似乎使用了错误的 Webtatic Yum 存储库版本,而不是您的 CentOS 版本。请参阅 http://www.webtatic.com/projects/yum-repository/详细信息

例如

rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

您可以使用 IUS 社区制作的 yum 插件来切换 mysql-libs 和 mysql55w-libs。 (以下假设您仍然使用 Webtatic)

yum install mysql yum-plugin-replace
yum replace mysql --replace-with mysql55w

这应该允许您用 mysql55w-libs 替换 mysql,同时保留旧的 libmysqlclient 的任何依赖项。

如果您看到除 mysql 之外的其他软件包被删除,那么请小心,因为它们可能是需要的,但是使用这种方法,我发现无论何时使用它都是可靠的。

我发布这个解决方案是因为 Remi 的存储库并不总是理想的解决方案。此方法更复杂,但绝不会导致您通过使用与基础分发包匹配的包名称的存储库意外更新整个 Web 堆栈。

You appear to have been using the wrong Webtatic Yum repository version than the one for your version of CentOS. See http://www.webtatic.com/projects/yum-repository/ for details

e.g.

rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

You can use a yum plugin made by the IUS community to switch mysql-libs with mysql55w-libs. (the following assuming you still use Webtatic)

yum install mysql yum-plugin-replace
yum replace mysql --replace-with mysql55w

That should allow you to replace mysql with mysql55w-libs, whilst maintaining the older libmysqlclient for any dependencies.

If you see other packages than mysql being removed, then be careful, as they might be needed, but using this method, I've found to be reliable whenever I've used it.

I'm posting this solution as Remi's repository is not always the ideal solution. This method is more complex, but would never cause you to accidentally update your entire web stack by using repositories that use package names matching base distribution packages.

优雅的叶子 2025-01-14 20:27:01

上面的回复对我不起作用(收到此错误 - 错误:/var/tmp/rpm-tmp.tyukGy:不是 rpm 包)。

我按照以下步骤操作 -

## Remove existing/old MySQL ##
yum remove mysql mysql-*
rm -rf /var/lib/mysql
rm -rf /var/log/mysql*

## Install Remi Repository on RHEL/CentOS 6.7-6.0 ##
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 

## Install Remi Repository on RHEL/CentOS 5.4-5.0 ##
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

yum --enablerepo=remi list mysql mysql-server
yum --enablerepo=remi install mysql mysql-server

取自 - http://www.howtoing.com/install-mysql-on-rhel-centos-6-5-fedora-17-12/

通过上述操作,我卸载了 MySQL 5.0.* 并将其替换为 -

[root@localhost]# /usr/bin/mysqladmin -u root -p version
/usr/bin/mysqladmin  Ver 8.42 Distrib 5.5.28, for Linux on x86_64
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version      5.5.28
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/lib/mysql/mysql.sock
Uptime:         32 sec

Threads: 1  Questions: 3  Slow queries: 0  Opens: 33  Flush tables: 1  Open tables: 26  Queries per second avg: 0.093
[root@localhost]# 

我的 CentOS 版本 -

[root@localhost]# cat /etc/redhat-release
CentOS release 6.3 (Final)
[root@localhost]# uname -a
Linux localhost.localdomain 2.6.32-279.14.1.el6.x86_64 #1 SMP Tue Nov 6 23:43:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Above replies didn't work for me (got this error - error: /var/tmp/rpm-tmp.tyukGy: not an rpm package).

I followed these steps -

## Remove existing/old MySQL ##
yum remove mysql mysql-*
rm -rf /var/lib/mysql
rm -rf /var/log/mysql*

## Install Remi Repository on RHEL/CentOS 6.7-6.0 ##
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 

## Install Remi Repository on RHEL/CentOS 5.4-5.0 ##
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

yum --enablerepo=remi list mysql mysql-server
yum --enablerepo=remi install mysql mysql-server

Taken from - http://www.tecmint.com/install-mysql-on-rhel-centos-6-5-fedora-17-12/

By doing above, i uninstalled MySQL 5.0.* and replaced it with this -

[root@localhost]# /usr/bin/mysqladmin -u root -p version
/usr/bin/mysqladmin  Ver 8.42 Distrib 5.5.28, for Linux on x86_64
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version      5.5.28
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/lib/mysql/mysql.sock
Uptime:         32 sec

Threads: 1  Questions: 3  Slow queries: 0  Opens: 33  Flush tables: 1  Open tables: 26  Queries per second avg: 0.093
[root@localhost]# 

My CentOS version -

[root@localhost]# cat /etc/redhat-release
CentOS release 6.3 (Final)
[root@localhost]# uname -a
Linux localhost.localdomain 2.6.32-279.14.1.el6.x86_64 #1 SMP Tue Nov 6 23:43:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
初与友歌 2025-01-14 20:27:01

使用 CentOS-Release-SCL 更好、更简单。

软件集合 (SCL) 存储库

# yum install centos-release-SCL
# yum install mysql55-mysql-server

完成。

Use CentOS-Release-SCL is better and easy.

The Software Collections ( SCL ) Repository

# yum install centos-release-SCL
# yum install mysql55-mysql-server

Done.

猫烠⑼条掵仅有一顆心 2025-01-14 20:27:01

此博客帖子帮助我从 MySQL 5.5.15 升级到 5.5.28。该升级还存在 mysql-libsmysql55-libs 冲突的问题。

This blog post helped me upgrade from MySQL 5.5.15 to 5.5.28. That upgrade also had the problem with mysql-libs clashing with mysql55-libs.

魔法唧唧 2025-01-14 20:27:01
wget -P /etc/yum.repos.d  http://rpms.famillecollet.com/enterprise/remi.repo
yum --enablerepo=remi -y install mysql-server
OR
yum --enablerepo=remi -y update mysql-server
wget -P /etc/yum.repos.d  http://rpms.famillecollet.com/enterprise/remi.repo
yum --enablerepo=remi -y install mysql-server
OR
yum --enablerepo=remi -y update mysql-server
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文