linux重装后,重新安装mysql并找回数据

记录一次服务器挂掉,重新安装mysql并找回数据 1.拷贝 mysql data目录下的数据2.编辑my.cnf文件3.创建mysql用户组,创建my.cnf文件中相应的文件夹,给...

记录一次服务器挂掉,重新安装mysql并找回数据

1.拷贝 mysql data目录下的数据2.编辑my.cnf文件3.创建mysql用户组,创建my.cnf文件中相应的文件夹,给予相应权限4.初始化mysql5.启动mysql,转移原数据

业余小白记录在服务器重装后找回数据的过程,某天到公司后,发现云服务器无法ssh链接,通过vnc登录到服务其中,发现很多命令已不可使用,各种提示文件丢失,不知移动云抽搐还是某些大神的攻击,只能无奈重新安装系统,记录安装系统后重新安装mysql的过程

1.拷贝 mysql data目录下的数据

cp -r /mnt/softwares/mysql/data /mnt/ #拷贝data

2.编辑my.cnf文件

[mysqld]

user=mysql

#bind-address=127.0.0.1

#绑定链接地址仅本地

#bind-address=0.0.0.0

#绑定链接地址全部

#访问地址

port=8091

basedir=/mnt/softwares/mysql

datadir=/mnt/softwares/mysql/data

socket=/mnt/softwares/mysql/sock/mysql.sock

pid-file=/mnt/softwares/mysql/pid/mysql.pid

log-error=/mnt/softwares/mysql/log/mysql-error.log

symbolic-links=0

default-storage-engine=INNODB

character_set_server=utf8

collation-server=utf8_general_ci

transaction_isolation=REPEATABLE-READ

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

skip_ssl

default-time-zone='+8:00'

innodb_buffer_pool_instances=1

max_connections=200

lower_case_table_names = 1

#大小写配置1,mysql会先把表名转为小写。2,mysql会根据表名直接操作,大小写敏感。

max_allowed_packet = 16M

#服务器发送和接受的最大包长度

[mysql]

default-character-set=utf8

port=8091

socket=/mnt/softwares/mysql/sock/mysql.sock

3.创建mysql用户组,创建my.cnf文件中相应的文件夹,给予相应权限

groupadd mysql #添加组

useradd mysql -g mysql #添加用户

cd /mnt/softwares/mysql #进入

//创建相应的文件夹

mkdir log

mkdir sock

mkdir pid

mkdir data

//更改属主

chown mysql:mysql log

chown mysql:mysql data

chown mysql:mysql sock

chown mysql:mysql pid

4.初始化mysql

cd /mnt/softwares/mysql/bin #进入启动目录

//运行初始化命令

./mysqld --initialize --user=mysql --basedir=/mnt/softwares/mysql/ --datadir=/mnt/softwares/mysql/data #如果报错的话大部分是有些文件没有权限

5.启动mysql,转移原数据

cd /mnt/softwares/mysql/support-files #进入目录

//启动

./mysql.server start

//成功后,复制原始数据

service mysql stop #停掉mysqll

mv /mnt/data/* /mnt/softwares/mysql/data/ #转移数据

//重启mysql

service mysql start #成功后数据恢复正常

整个过程容易出现没有权限,及时授权会解决很多问题