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

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

    • 1.拷贝 mysql data目录下的数据
    • 2.编辑my.cnf文件
    • 3.创建mysql用户组,创建my.cnf文件中相应的文件夹,给予相应权限
    • 4.初始化mysql
    • 5.启动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 #成功后数据恢复正常

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

你可能感兴趣的:(mysql)