web服务迁移mysql_web服务器迁移之数据库

昨天迁移WEB服务器的目录,今天要搬数据库了

先在新机上安装:

apt-get install mysql-server php5-mysql

在旧机上打包/var/lib/mysql整个目录

tar -cf mysql_data.tar mysql

复制到新机:

先关闭mysql服务:

/etc/init.d/mysql stop

将原安装的初始mysql目录改名:

mv mysql mysql_install

解开从旧机拷过来的mysql数据目录:

tar -xvf mysql_data.tar

重启mysql服务:

/etc/init.d/mysql start

/usr/bin/mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'

阿,不好,出错了,而且连stop都执行不了了,还得用kill强行终止进程。

分析下

系统mysqladmin连接mysql数据库不对,

查看/etc/mysql/debian.cnf,它的文件属性是:

-rw------- 1 root root  312 Mar 22 11:38 debian.cnf

查看内容,可以看到有这个mysql连接用户:

[client]

host     = localhost

user     = debian-sys-maint

password = G1I2JcALeXXvyC50

socket   = /var/run/mysqld/mysqld.sock

[mysql_upgrade]

user     = debian-sys-maint

password = G1I2JcALeXXvyC50

socket   = /var/run/mysqld/mysqld.sock

basedir  = /usr

其中的password这个密码就是用来连接的密码吧,在这里,我还是用土办法吧,把原始库的密码密文复制到新库中来:

改回原来的初始库,启动,用mysql连接,打开mysql库,在user表里找到用户debian-sys-maint@localhost记录,复制下它的Password字段,退出,关闭数据库。

再改回有数据的mysql目录,启动(当然还提示出错,但服务有启动),用mysql连接,打开mysql库,

mysql>update user set Password='*3B0E4E8BB8D0F091951CD02FC8B4070EB976E1A8' where User='debian-sys-maint';

mysql> FLUSH PRIVILEGES;

退出,用/etc/init.d/mysql stop数据库,哎可以正常关闭了。huhu!再启动当然也没问题了。

但还有个问题还没解决,在反复折腾的过程中,也不知哪错了,现在启动mysql时会有这个错误:

Checking for corrupt, not cleanly closed and upgrade needing tables..

网上搜索无果。自己冒险用:

mysqlcheck --auto-repair  --all-databases -p

也没有结果。

我在旧机上尝试重启mysql里,竟然也有这个问题,隐藏好久呀,上次没发现,竞也没影响数据库运行,呵。估计是旧机重装时的留下的问题,这个debian系统连接数据库的密码估计是随机生成的,每次不一样,我这样把数据拷来拷去,当然出错了:

/etc/init.d/mysql restart

Stopping MySQL database server: mysqld failed!

Starting MySQL database server: mysqld already running.

/usr/bin/mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'

这下,我不通过土办法了,直接用mysql登录,为debian-sys-maint用户改密:

SET PASSWORD FOR 'debian-sys-maint'@'localhost' = PASSWORD('5ZnA0mDCHTp1IN4H');

解决了呵。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值