可以将这个脚本放进crontab,他的配制文件在 /etc/crontab中每天凌晨执行一次,自动备份 这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。
#!/bin/bash
#This is a ShellScript For Auto DB Backup
#Powered by aspbiz
#2004-09
#Setting
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,
#以及备份方式
#默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy
#默认情况下,用root(空)登录mysql数据库,备份至/root/namexxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=password
BackupPath=/root/
LogFile=/root/db.log
DBPath=/var/local/mysql5/var/
#BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tar
#Setting End
NewFile="$BackupPath""$DBName"$(date +%y%m%d).tgz
DumpFile="$BackupPath""$DBName"$(date +%y%m%d)
OldFile="$BackupPath""$DBName"$(date +%y%m%d --date='5 days ago').tgz
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "------------------ ......
可以将这个脚本放进crontab,他的配制文件在 /etc/crontab中每天凌晨执行一次,自动备份 这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。
#!/bin/bash
#This is a ShellScript For Auto DB Backup
#Powered by aspbiz
#2004-09
#Setting
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,
#以及备份方式
#默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy
#默认情况下,用root(空)登录mysql数据库,备份至/root/namexxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=password
BackupPath=/root/
LogFile=/root/db.log
DBPath=/var/local/mysql5/var/
#BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tar
#Setting End
NewFile="$BackupPath""$DBName"$(date +%y%m%d).tgz
DumpFile="$BackupPath""$DBName"$(date +%y%m%d)
OldFile="$BackupPath""$DBName"$(date +%y%m%d --date='5 days ago').tgz
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "------------------ ......
一、引言
想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的MySQL。本以为有
Windows下使用SQL
Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和使用MySQL时走了很多弯路,遇见很多问题,毕竟Linux
和Windows本身就有很大区别。为了让和我一样的初学者在学习的过程中少走弯路,尽快入门,写了此文,希望对您有所帮助。本文的Linux环境是
Red Hat 9.0,MySQL是4.0.16。
二、安装Mysql
1、下载MySQL的安装文件
安装MySQL需要下面两个文件:
MySQL-server-4.0.16-0.i386.rpm
MySQL-client-4.0.16-0.i386.rpm
下载地址为:www.mysql.com/downloads/mysql-4.0.html
,打开此网页,下拉网页找到“Linux x86 RPM downloads”项,找到“Server”和“Client programs”项,下载需要的上述两个rpm文件。
2、安装MySQL
rpm文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是
–ivh
,其中i表示将安装指定的rmp软件包,V表示安装 ......
启动mysql: /etc/rc.d/init.d/mysql start
修改密码: 格式:mysqladmin -u用户名 -p旧密码 password 新密码
使用密码登录: mysql -u root -p
显示数据库: show databases;
选择数据库: use 数据库名;
显示表: show tables;
显示表结构: descibe 表名;
远程登录mysql需要开启权限:
grant 权限名(all表全部) on 库名(*表全部).表名(*表全部) to 用户名@"%"(%表全部IP) identified by "密码"
例如: grant all on *.* to root@"%" identified by "111111"
查看mysql的版本信息: \s
判断是否支持分区: show variables like '%partition%'
......
启动mysql: /etc/rc.d/init.d/mysql start
修改密码: 格式:mysqladmin -u用户名 -p旧密码 password 新密码
使用密码登录: mysql -u root -p
显示数据库: show databases;
选择数据库: use 数据库名;
显示表: show tables;
显示表结构: descibe 表名;
远程登录mysql需要开启权限:
grant 权限名(all表全部) on 库名(*表全部).表名(*表全部) to 用户名@"%"(%表全部IP) identified by "密码"
例如: grant all on *.* to root@"%" identified by "111111"
查看mysql的版本信息: \s
判断是否支持分区: show variables like '%partition%'
......
MYSQL安装
//解压编译安装
# tar xzvf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
# ./configure -prefix=/home/redadmin/mysql
# make
# make install
# cd /home/redadmin/mysql/
# cp share/mysql/my-medium.cnf ./
# mv my-medium.cnf my.cnf
// my.conf文件修改
# vi my.cnf
修改前:
port = 3306
socket = /tmp/mysql.sock
修改后:
port = 3307
socket = /tmp/mysql5.sock
// mysql数据库初始化
# ./mysql_install_db --defaults-file=../my.cnf --user=mysql
// mysql启动
# ./mysqld_safe --defaults-file=../my.cnf --user=mysql &
// mysql命令
# ./mysql --defaults-file=../my.cnf
# create database pligg
select * from user;
quit;
./mysqladmin --port=3307 --socket=/tmp/mysql5.sock -u root -p shutdown
mySql停止
/home/redadmin/mysql/bin/mysqladmin - ......
MYSQL安装
//解压编译安装
# tar xzvf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
# ./configure -prefix=/home/redadmin/mysql
# make
# make install
# cd /home/redadmin/mysql/
# cp share/mysql/my-medium.cnf ./
# mv my-medium.cnf my.cnf
// my.conf文件修改
# vi my.cnf
修改前:
port = 3306
socket = /tmp/mysql.sock
修改后:
port = 3307
socket = /tmp/mysql5.sock
// mysql数据库初始化
# ./mysql_install_db --defaults-file=../my.cnf --user=mysql
// mysql启动
# ./mysqld_safe --defaults-file=../my.cnf --user=mysql &
// mysql命令
# ./mysql --defaults-file=../my.cnf
# create database pligg
select * from user;
quit;
./mysqladmin --port=3307 --socket=/tmp/mysql5.sock -u root -p shutdown
mySql停止
/home/redadmin/mysql/bin/mysqladmin - ......
准备工作:
用到的perl 扩展组件(modules)在上篇贴出.( win32::odbc 模块
)下载组件后按照Readme文件安装倒响应目录.配置好相应的odbc数据源.
程序实现:
使用
use
Win32::ODBC;
语句包含应使用的模块是win32::odbc,写出数据库
连接字符串
$DSN = "DSN =
My DSN;UID = sa; PWD = password"
然后就可以建立相应的连接
$data = new
Win32::ODBC($DSN) # new 一个连接对象
这样就建立了和数据源指向的SQL Server
的连接,当然还有更多更复杂的数据库操作.大家可以参考上篇的对象说明文档.
简单举例:
$data->TableList;
# 得到数据库的所有基本表的列表
$data->Sql("SELECT * from [tablename]") #
执行一条查询语句
$data->FieldNames(); # 得到列(属性)的列表 ......
系统补丁安装能够
rpm -ivh compat-libcwait-2.1-1.i386.rpm
rpm -ivh compat-oracle-rhel4-1.0-5.i386.rpm
安装过程这2个rpm时会报一些依赖的包未装,根据名字到网上去下载相应的包装上。
配置系统参数
dd if=/dev/zero of=tmpswap bs=1k count=2048000
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap
vi /etc/sysctl.conf
kernel.sem=250 32000 100 128
kernel.shmmax=4294967295
kernel.shmmni=128
kernel.msgmnb=65536
kernel.msgmni=2878
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
echo 65536 > /proc/sys/fs/file-max
ulimit -n 65536
ulimit -u 16384
setup #按界面操作,关闭防火墙
gcc -shared -o libcwait.so -fpic -O2 libcwait.c #编译libcwait.c
chmod 755 libcwait.so
cp libcwait.so /usr/lib/libcwait.so
-----〉libcwait.c
#include <errno.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
pid_t
__libc_wait (int *status)
{
int res;
asm volatile ("pushl %%ebx\n\t"
& ......
系统补丁安装能够
rpm -ivh compat-libcwait-2.1-1.i386.rpm
rpm -ivh compat-oracle-rhel4-1.0-5.i386.rpm
安装过程这2个rpm时会报一些依赖的包未装,根据名字到网上去下载相应的包装上。
配置系统参数
dd if=/dev/zero of=tmpswap bs=1k count=2048000
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap
vi /etc/sysctl.conf
kernel.sem=250 32000 100 128
kernel.shmmax=4294967295
kernel.shmmni=128
kernel.msgmnb=65536
kernel.msgmni=2878
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
echo 65536 > /proc/sys/fs/file-max
ulimit -n 65536
ulimit -u 16384
setup #按界面操作,关闭防火墙
gcc -shared -o libcwait.so -fpic -O2 libcwait.c #编译libcwait.c
chmod 755 libcwait.so
cp libcwait.so /usr/lib/libcwait.so
-----〉libcwait.c
#include <errno.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
pid_t
__libc_wait (int *status)
{
int res;
asm volatile ("pushl %%ebx\n\t"
& ......