本文记录在MySQL安装成功后常用的配置
默认数据文件保存在 /var/lib/mysql/ 下
创建新存储目录
cd /homemkdir mysql_data停止mysql服务
systemctl stop mysqld.service迁移文件
cp -arp /var/lib/mysql /home/mysql_data/a 用于复制整个目录,包括目录中的子目录等都递归复制,而且还要保持文件的访问模式,所有者,时间戳等属性与原文件一样。
-r 递归复制目录及其子目录内的所有内容
-p 等于–preserve=模式,所有权,时间戳
修改配置文件
vi /etc/my.cnfmysqld 节点
将 datadir 及 socket 替换为新路径
* *datadir=/home/mysql_data/mysql
socket=/home/mysql_data/mysql/mysql.sock
client 节点(新增)
socket=/home/mysql_data/mysql/mysql.sock

启动服务
systemctl start mysqld.servicesystemctl status mysqld.service

mysql -p 登录mysql> create database db_demo;
默认的root账户不允许远程登录访问,也不推荐直接将root账号设置为允许远程登录访问
创建用户名为 test,密码为 password 的账号
mysql> create user test identified by 'password';账号 test 授权给数据库 db_demo
mysql> grant all privileges on db_demo.* to 'test';刷新权限
mysql> flush privileges;查看账号授权
show grants for 'test';
默认为4M,在大批量写入时,不够用
修改配置文件,在[mysqld]节点下增加配置*,*max_allowed_packet=100M
vi /etc/my.cnf

重启mysql服务
查看新参数
mysql -pmysql> show variables like '%max_allowed_packet%';

创建shell脚本
cd /home/timing_jobs/vi mysql_db_backup.sh#!/bin/bash #保存备份个数,备份3天数据 number=3 #备份保存路径 backup_dir=/home/mysqlbackup #日期 dd=`date +%Y%m%d%H%M%S` #备份工具 tool=mysqldump #将要备份的数据库 database_name=db_demo #如果文件夹不存在则创建 if [ ! -d $backup_dir ]; then mkdir -p $backup_dir; fi #备份 $tool --login-path=local $database_name > $backup_dir/$database_name-$dd.sql #压缩文件 cd $backup_dir tar -zcvf $database_name-$dd.sql.tar.gz $database_name-$dd.sql #删除备份文件 rm -rf $database_name-$dd.sql #写创建备份日志 echo "$(date "+%Y-%m-%d %H:%M:%S") create $backup_dir/$database_name-$dd.dupm" >> /home/timing_jobs/logs/db_backup.log #找出需要删除的备份 delfile=`ls -l -crt $backup_dir/db_demo-*.sql.tar.gz | awk '{print $9 }' | head -1` #判断现在的备份数量是否大于$number count=`ls -l -crt $backup_dir/db_demo-*.sql.tar.gz | awk '{print $9 }' | wc -l` if [ $count -gt $number ] then #删除最早生成的备份,只保留number数量的备份 rm $delfile #写删除文件日志 echo "$(date "+%Y-%m-%d %H:%M:%S") delete $delfile" >> /home/timing_jobs/logs/db_backup.log fi脚本授权
chmod +x mysql_db_backup.sh添加定时任务
crontab -e输入
30 22 * * * /home/timing_jobs/mysql_db_backup.sh >> /dev/null 2>&1

