centos6.9安装mysql5.7及自动备份(含mongodb及自动备份)

1、查看系统版本
 
 

lsb_release -a

2、卸载old mysql
 
 

rpm -qa|grep -i mysql

rpm -ev MySQL-client-5.5.25a-1.rhel5 如果提示依赖错误,增加--nodeps
find / -name mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql
rm -rf /etc/my.cnf
rpm -qa|grep -i mysql


3、下载mysql,如果是centos6系列一定要el6,不然出现glibc安装错误
 
 

wget -c https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar

 
 

mysql-community-client-5.7.18-1.el6.x86_64.rpm
mysql-community-common-5.7.18-1.el6.x86_64.rpm
mysql-community-devel-5.7.18-1.el6.x86_64.rpm
mysql-community-embedded-5.7.18-1.el6.x86_64.rpm
mysql-community-embedded-devel-5.7.18-1.el6.x86_64.rpm
mysql-community-libs-5.7.18-1.el6.x86_64.rpm
mysql-community-libs-compat-5.7.18-1.el6.x86_64.rpm
mysql-community-server-5.7.18-1.el6.x86_64.rpm
mysql-community-test-5.7.18-1.el6.x86_64.rpm


4、安装基础包
 
 

yum install gcc gcc-c++ ncurses-devel perl

 
 

wget http://mirror.centos.org/centos/6/os/x86_64/Packages/numactl-2.0.9-2.el6.x86_64.rpm

#这个包在安装server提示libnuma.so.1


5、安装mysql(顺序:common-libs-client-server,里面compat,test,devel,embedded根据需要安装)
 

rpm -ivh mysql-community-common-5.7.18-1.el6.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.18-1.el6.x86_64.rpm

rpm -ivh mysql-community-client-5.7.18-1.el6.x86_64.rpm

rpm -ivh mysql-community-server-5.7.18-1.el6.x86_64.rpm


6、启动服务
 
 

service mysqld start


7、查看root 临时密
 
 

grep 'temporary password' /var/log/mysqld.log


8、修改root密码
 
 

mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345';


9、远程用户
 
 

GRANT ALL PRIVILEGES ON root.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

FLUSH PRIVILEGES 

10、mysql相关文件及路径

11. 定期自动备份

#!/bin/bash
db_user="root"
db_passwd="123456"
db_name="test_db"
#进入备份目录将之前的移动到old目录
cd /home/backup/bakmysql
echo "you are in bakmysql directory now"
mv test_db* /home/backup/bakmysqlold
echo "Old databases are moved to bakmysqlold folder"
#备份目录
backup_dir="/home/backup/bakmysql"
#时间格式
time=$(date +"%Y-%m-%d")
#mysql 备份的命令,注意有空格和没有空格
mysqldump -u$db_user -p$db_passwd $db_name  > "$backup_dir/$db_name"-"$time.sql"
echo "your database backup successfully completed"
#这里将7天之前的备份文件删掉
SevenDays=$(date -d -7day +"%Y-%m-%d")
if [ -f /home/backup/bakmysqlold/pashanhu-$SevenDays.sql ]
then
rm -rf /home/backup/bakmysqlold/pashanhu-$SevenDays.sql
echo "you have delete 7days ago bak sql file "
else
echo "7days ago bak sql file not exist "
echo "bash complete"
fi

然后通过下面命令将脚步加入系统的计划任务

touch /home/bakmysql.sh
vi /home/bakmysql.sh (上面的脚本)
chmod -x /home/bakmysql
 mkdir /home/backup
mkdir /home/backup/bakmysqlold
mkdir /home/backup/bakmysql

检查有没安装crond,如果没有,先安装

yum -y install vixie-cron
yum -y install crontabs

启动服务 :service crond start

在CentOS系统中加入开机自动启动: chkconfig --level 345 crond on

crontab -e

0 2 * * * /home/bakmysql.sh

保存退出以后就可以了。

也许需要重启crontab  启用命令:/sbin/service crond restart

后期更改~结果如下


12. 导出导入

导出:

/usr/local/mysql/bin/mysqldump -u root -p123456 dbname > /bak/dbname.sql

进入mysql中创建一个数据库 dbname

/usr/local/mysql/bin/mysql -u root -p123456 dbname < /bak/dbname.sql


-----------------------------------------------------------------------------------------------------------------

1.mongodb

创建独立用户:
mongo
use ex8
db.createUser(
     {
       user:"ex8",
       pwd:"Asd@123456",
       roles:[{role:"dbOwner",db:"ex8"}]
     }
  )

测试登录
show users

mongo 127.0.0.1/ex8 -u ex8 -p Asd@123456

修改mongo用户密码

db.changeUserPassword('ex8','12345678');

mongodb数据库恢复:
mongodump -h 192.168.183.140 --port 27017 -u ex8 -p 12345678 -d ex8 -o  /home/tools   //导出ex8库到tools下
mongorestore -h 127.0.0.1 --port 27017 -u ex8 -p 12345678 -d ex8  /home/tools/ex8 //导入ex8库

2.mongodb自动备份:

#touch /home/bakmongodb.sh

#vi /home/bakmongodb.sh

v_date=$(date '+%Y%m%d%H%M%S')
/home/mongodb/bin/mongoexport  -d ex8 -u ex8 -p 12345678 -c contentMongoEO  -o /home/backup/mongo/mongo-$v_date.dat
gzip /home/backup/mongo/mongo-$v_date.dat
find /home/backup/mongo/ -name "mongo-*" -mtime +6 -exec rm -rf {} \;

#chmod -R 777 /home/bakmongodb.sh

#service crond start

#chkconfig --level 345 crond on

#crontab -e

0 2 * * * /home/bakmysql.sh
# /sbin/service crond restart
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值