本文目录一览:
- 1、那位大神能告诉我mysql5.0怎么升级到5.1的版本?具体操作步骤是什么! 在linux系统环境下.
- 2、还不会在Linux中安装Mysql?
- 3、如何升级linux系统的mysql
- 4、如何在linux系统修改mysql数据库
- 5、linux下怎么升级mysql版本
- 6、linux中mysql5升级到mysql5.5的方法
那位大神能告诉我mysql5.0怎么升级到5.1的版本?具体操作步骤是什么! 在linux系统环境下.
升级要备份好重要的文件,如参数文件,重建my.cnf文件。
1. 停数据库,备份数据(备份物理文件)
2. 将新版本mysql的数据目录指向到旧目录(datadir)
3. 启动mysqld时使用skip grant tables 参数避开系统检查,
# 例如
/usr/local/mysql/bin/mysqld --datadir=/var/data/ --user=mysql --skip-grant-tables
4. 执行mysql_upgrade,这时应该就会顺利进行下来了
或者只升级授权表,mysql_fix_privilege_tables(推荐) 或 mysql_fix_privilege_tables.sql 脚本执行
5. 停止mysqld
6. 按照原来的my.cnf运行正常服务(这一步失败很可能由于参数不兼容引起,比如bdb相关的所有参数5.1开始都不再支持,总之这一步很容易处理)
7. 检查表有没有问题,比如执行mysqlcheck --all-databases 等等
还不会在Linux中安装Mysql?
mysql在linux下有三种安装方式,依照难以程度排序:
第一种是yum install mysql,这种安装方式最简单,初学可以采用。但是这种安装的弊端是安装的版本比较低,现在安装的话是5.17的版本。
第二种方式是下载最新的MySQL-5.6.25-1.rhel5.x86_64.rpm-bundle.tar,解压缩后,用rpm -ivh 包名,安装四个包就可以了,注意先后顺序。
第三种方式是下载最新的mysql-5.6.27-linux-glibc2.5-i686.tar.gz,解压缩后,手动配置。主要包括配置:增加mysql用户和群组;拷贝my-default.inf文件为my.inf到/etc/下;安装并初始化/mysql-5.6.27/scripts/mysql_install_db --user=mysql --basedir=/... --datadir=/...;增加到服务中chkconfig --add mysql ,chkconfig mysql on ;启动服务service mysql start ;修改root初始密码。操作完以上几部基本上就可以了。
如何升级linux系统的mysql
一些MySQL发布对mysql数据库中的系统表的结构进行了更改,添加了新权限或特性。当你更新到新版本MySQL,你应同时更新系统表,以确保它们的结构最新。首先备份mysql数据库,然后按照下面的程序操作。
在Unix或Unix类系统中,运行mysql_fix_privilege_tables脚本来更新系统表:
shell mysql_fix_privilege_tables
你必须在服务器运行时执行该脚本。它试图连接本机上用root运行的服务器。如果root账户需要密码,在命令行中按下述方法给出密码:
shell mysql_fix_privilege_tables--password=root_password
mysql_fix_privilege_tables脚本可以执行将系统表转换为当前格式的任何动作。运行时你可能会看见一些Duplicate column name警告;你可以忽略它们。
运行完脚本后,停止服务器并重启。
在Windows系统中,MySQL分发包括mysql_fix_privilege_tables.sql SQL脚本,你可以用mysql客户端来运行。例如,如果MySQL安装到C:\Program Files\MySQL\MySQL Server 5.1,命令应为:
C:\
C:\Program Files\MySQL\MySQL Server 5.1
\bin\mysql -u root -p mysql
mysql SOURCE C:/Program Files/MySQL/MySQL Server
5.1/scripts/mysql_fix_privilege_tables.sql
如果安装到其它目录,相应地更改路径名。
mysql命令将提示输入root密码;按照提示输入密码。
在Unix中,当mysql处理mysql_fix_privilege_tables.sql script脚本中的语句时,你可能会看见一些Duplicate column name警告;你可以忽略它们。
运行完脚本后,停止服务器并重启。
如何在linux系统修改mysql数据库
查找以前是否安装有mysql,使用下面命令:
rpm
-qa|grep
-i
mysql
如果显示有如下包则说明已安装mysql
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
如果已安装,则需要删除已安装的数据库,使用以下命令来删除数据库
删除命令:rpm
-e
--nodeps
包名
(
rpm
-ev
mysql-4.1.12-3.RHEL4.1
)
删除老版本mysql的开发头文件和库
命令:rm
-fr
/usr/lib/mysql
rm
-fr
/usr/include/mysql
注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除
rm
-f
/etc/my.cnf
rm
-fr
/var/lib/mysql
下载mysql的rpm包
可以通过wget下载具体的地址因为不能用链接请大家去官网去找
(1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL服务器;
(2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客户端;
(3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql开发依赖包。
下载后放到Liunx服务器中,如图所示
安装MySQL
Server的rpm包
rpm
-ivh
MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm
安装过程如图所示
安装完成后会生成root用户的随机密码,请使用“cat
/root/.mysql_secret”或类似命令进行查看。
linux下怎么升级mysql版本
先备份mysql数据文件.再重装mysql .再把数据文件放进去.启动mysql
如果不出错就升级完成了
linux中mysql5升级到mysql5.5的方法
手上有一朋友的服务器是MYSQL5.1,因需要升级到5.5或以上,这儿写下升级到5.5的过程
安装5.5依赖安装包
代码如下
yum
install
-y
autoconf*
automake*
zlib*
libxml*
ncurses-devel*
libgcrypt*
libtool*
openssl*
安装cmake
代码如下
yum
install
-y
cmake
在升级前,建议先将之前5.1的mysql及数据库目录备份一下
停止掉mysql
代码如下
service
mysql
stop
升级mysql
5.5.36
代码如下
tar
xf
mysql-5.5.36.tar.gz
cd
mysql-5.5.36
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DSYSCONFDIR=/etc
-DMYSQL_DATADIR=/usr/local/mysql/var
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock
-DMYSQL_USER=mysql
-DEXTRA_CHARSETS=all
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_EMBEDDED_SERVER=1
-DENABLED_LOCAL_INFILE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
make
make
install
删除/etc/下的my.cnf配置文件
代码如下
rm
-rf
/etc/my.cnf
拷贝5.5的配置文件
代码如下
cp
support-files/my-huge.cnf
/etc/my.cnf
尝试启动一下
代码如下
service
mysql
start
执行更新程序并重启mysql
代码如下
/usr/local/mysql/bin/mysql_upgrade
如果一路OK就没事儿,但要是出了错误,请参考我另外一篇文章
mysql5.5升级过程中mysql_upgrade失败的问题
查看下现在的mysql版本
代码如下
cat
mysql_upgrade_info
好了,升级工作完成。
再附升级失败问题解决
在升级mysql5.5过程中,执行/usr/local/mysql/bin/mysql_upgrade
提示:
代码如下
Looking
for
'mysql'
in:
/usr/local/mysql/bin/mysql
Looking
for
'mysqlcheck'
in:
/usr/local/mysql/bin/mysqlcheck
Running
'mysqlcheck'...
/usr/local/mysql/bin/mysqlcheck:
Got
error:
1064:
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
'FOR
UPGRADE'
at
line
1
when
executing
'CHECK
TABLE
...
FOR
UPGRADE'
FATAL
ERROR:
Upgrade
failed
想起之前5.1好像是有密码的!这儿换种方式尝试
代码如下
/usr/local/mysql/bin/mysql_upgrade
-S
/var/data/mysql.sock
-uroot
-p
这个也不行了,突然想到出奇招,还是使用5.5的二进制程序,然后更改启动参数,因为我只想要把data目录下的表结构升级而已,必须指定的参数只是data目录,于是我做了如下尝试
#
启用
--skip-grant-tables参数避开检查,先启动再说
代码如下
/usr/local/mysql/bin/mysqld
--datadir=/usr/local/mysql/var/
--user=mysql
--skip-grant-tables
#
看上去成功了
#
中间报了一些innodb的错误,不去理会,应该是配置或是这个半阴半阳状态下问题,这个以后再解决
#
接下来停止这个服务
mysqladmin
shutdown
之,然后以正常参数启动mysqld服务……
修改些my.cnf中的配置参数,以适合mysql5.5
一句话总结:
代码如下
/usr/local/mysql/bin/mysqld
--datadir=/usr/local/mysql/var/
--user=mysql
--skip-grant-tables