1、安装配置Mysql :本文安装的系统为Centos6.3:
代码如下 | 复制代码 |
yum list mysql # 查看有没有安装包 yum install mysql # 安装mysql客户端 yum list mysql-server # 查看有没有安装包 yum install mysql-server # 安装mysql 服务器端 #安装过后需要启动mysql服务 service mysqld start #或者/etc/init.d/mysqld start # 启动过后需要给mysql创建一个root管理员: mysqladmin -u root password 123456 #后我们就可以通过以下连接mysql,进入mysql命令行了: mysql -u root -p #回车后,在输入密码即可 #查看 mysql安装位置 whereis mysql |
2、Mysql配置(通用设置,极力推荐):
代码如下 | 复制代码 |
#修改linux服务器下Mysql的设置需要用root登录系统后, vi /etc/my.cnf #在[mysqld]后添加 lower_case_table_names=1 #重启MYSQL服务,这样做以后将不区分表名的大小写。 |
3、数据导入:
代码如下 | 复制代码 |
#需要一台windows机器,安装Navicat for MySQL #setup #关闭centos系统的防火墙 #CentOS下开启mysql远程连接,远程管理数据库 grant all privileges on *.* to 'root'@'%' identified by 'ebiz' with grant option; #说明:在Windows和Mac OS X中,lower_case_tables_name的 默认值是1。 |
5、centos下导出数据:
代码如下 | 复制代码 |
mysqldump -u 用户名 -p密码 数据库名 > 导出的文件名 mysqldump -u root -pebiz eblog > /home/soft/mysqlbak.sql 导出一个表 |
6、导入数据:
代码如下 | 复制代码 |
create database eblog character set utf8; |
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source /home/soft/mysqlbak.sql
7、自动备份,并上传到指定的ftp中异地备份:
代码如下 | 复制代码 |
rm -rf /home/mysqlbak/*.gz #删除gz文件 date_str=`date +%Y%m%d` cd /home/mysqlbak mysqldump -h localhost -u root --password=ebiz -R -E -e / --max_allowed_packet=1048576 --net_buffer_length=16384 eblog/ | gzip > /home/mysqlbak/eblog_$date_str.sql.gz deldate=` date -d -5day +%Y%m%d ` #删除ftp服务器空间5天前的备份 ftp -n 8.8.8.8 <<EOF user ftpuser ftppassword binary lcd /home/mysqlbak prompt mput eblog_$date_str.sql.gz mdelete eblog_$deldate.sql.gz close bye EOF |
8、设置定时任务
代码如下 | 复制代码 |
30 4 15 * * root /home/filesbak/filesbak.sh 10 3 * * * root /home/mysqlbak/mysqlbak.sh |
设置好后,重启:service crond restart
9、mysql导出导入命令介绍:
代码如下 | 复制代码 |
"D:/Program Files/MySQL/bin" --host=服务器IP地址 --user=用户名 --password=密码 --add-locks --add-drop-table --lock-tables |
–user=用户名,–password=密码:直接填写,如有特殊字符导致命令行冲突,可用半角双引号括起来;
–database 数据库名称,可输入多个,以半角空格分开;
–add-locks:意为在输出的 SQL 语句中,每段对数据的写操作之前和之后分别“锁定”和“解锁”当前表,防止因执行 SQL 语句时有其他对数据库的操作而造成冲突,产生错误;
–add-drop-table:指在创建表结构的语句前,检测与当前表相同名称的表是否存在,如果存在则先删除原表,再执行创建表结构语句,否则直接创建表结构;
–lock-tables:表示在执行 mysqldump 命令导出数据的时候,将指定的数据库表锁定;
> “输出文件名.sql”:这是 Windows 命令行特有的功能,指将输出到命令行窗口的所有内容以文件的方式输出到指定文件名的文件中(UTF-8 编码)。
此外,mysqldump 命令还有别的参数,具体如下:
–no-data:仅导出指定数据库的表结构,而不导出数据部分;
–no-create-info:仅导出指定数据库的数据部分,而不创建表结构;
–add-drop-database:在创建数据库前先删除当前同名的数据库。