linux中mysql升级后不能启动的解决方法

作者:袖梨 2022-11-14

问题一

第一步

代码如下 复制代码
1. 下载 http://files.directadmin.com/services/all/mysql/mysql-5.1.50.tar.gz

2.tar zxvf mysql-5.1.50.tar.gz

3.cp mysql-5.1.50/sql/share/english/errmsg.sys /usr/share/mysql/english/errmsg.sys


第二步

代码如下 复制代码
1.编辑my.cnf 添加skip-external-locking

2. mysql_install_db

3.service mysqld start

问题二

MySQL版本由之前的5.0.95升级到5.5.27后,无法启动

原因:

1、MySQL升级之后,由于配置文件/etc/my.cnf还是原来5.0.95的,对5.5.27已经不适用了,所以出错

2、MySQL升级之前修改过数据库默认存放路径,升级之后数据库路径又被还原到默认位置,所以出错

解决办法:

1、用MySQL-5.5.27的配置文件替换原来的/etc/my.cnf

2、修改MySQL数据库路径为/data/mysql_data/mysql目录

具体操作:

1、cd /usr/share/mysql #进入MySQL目录

cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷贝模板文件为MySQL配置文件(直接覆盖/etc目录下面原来的my.cnf)

注意:MySQL配置模板文件共有5个:my-huge.cnf、my-innodb-heavy-4G.cnf、my-large.cnf、mymedium.cnf、my-small.cnf,根据自己的服务器硬件配置选择相应的模板文件即可

2、vi /etc/my.cnf #编辑

socket = /data/mysql_data/mysql/mysql.sock#修改/var/lib/mysql/mysql.sock为/data/mysql_data/mysql/mysql.sock,注意有两处都要改

datadir = /data/mysql_data/mysql #在[mysqld]下面添加这一行

:wq! #保存退出

3、vi /etc/init.d/mysqld #编辑,找到get_mysql_option mysqld datadir "/var/lib/mysql",修改为

get_mysql_option mysqld datadir "/data/mysql_data/mysql"

:wq! #保存退出

4、vi /usr/bin/mysqld_safe #编辑,找到DATADIR=/var/lib/mysql,修改为

DATADIR=/data/mysql_data/mysql

:wq! #保存退出

5、ln -s /data/mysql_data/mysql/mysql.sock /var/lib/mysql/mysql.sock #添加软连接

6、service mysqld start #启动MySQL,启动成功

mysql -u root -p #输入密码后,成功进入MySQL控制台

show variables like '%datadir%'; #查看MySQL数据库存放路径

相关文章

精彩推荐