Chinaunix首页 | 论坛 | 博客
  • 博客访问: 43516
  • 博文数量: 26
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 16
  • 用 户 组: 普通用户
  • 注册时间: 2016-12-15 11:11
文章分类

全部博文(26)

文章存档

2019年(1)

2010年(9)

2009年(1)

2008年(9)

2006年(6)

我的朋友

分类: Mysql/postgreSQL

2008-09-12 21:32:04

======================================================
                     Mysql基础篇
======================================================
1、安装
groupadd mysql
useradd -g mysql -s /bin/false -d /dev/null mysql
 

tar zxvf mysql-standard-4.1.10a-pc-linux-gnu-i686.tar.gz

ln -s mysql-standard-4.1.10a-pc-linux-gnu-i686 mysql

./scripts/mysql_install_db --user=mysql

chown -R root  .

chown -R mysql data

chgrp -R mysql .

./bin/mysqld_safe --user=mysql &

netstat -anl
 
 
2、将mysqld服务设置成系统服务,系统启动后让它自己启动。
 

复制/usr/local/my- large.cnf 到/etc/my.cnf

cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
 
将启动文件拷贝启动文件到 /etc/init.d/

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
 
以后可以使用

/etc/init.d /mysqld {start|stop|reload}命令来启动停止mysql服务。
 
# chkconfig --list|grep mysqld
# chkconfig --add mysqld
# chkconfig --list|grep mysqld

mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off
 
3、修改配置文件中的 Mysql帐号和密码
# /usr/local/mysql/bin/mysql
//只允许本地访问。

mysql> set password for 'root'@'localhost'=password('123456');

Query OK, 0 rows affected (0.12 sec)
 
//允许任何IP进行访问。
mysql> set password for 'root'@'*'=password('123456');
Query OK, 0 rows affected (0.00 sec)
 
忘记密码的修改方法
结束mysql进程(kill)
启动的时候加入选项:--skip_grant_tables
此时连接数据库不需要密码验证
再重新设置密码
 
mysqladmin -u用户名 -p旧密码 password 新密码


UPDATE user SET Password=PASSWORD("your password here") WHERE User="root";
 
4、设置远程可以访问

mysql> grant all on *.* to 'root'@'%' identified by  '123456';

mysql> flush privileges;
使用其他机器的客户端可以连接该数据库,进行远程管理。
 
5、数据库说明
Myisam
*.frm----表定义文件,存放表结构定义。
*.MYD----数据文件,存各个数据行的内容。
*.MYI----索引文件,存放表的全部索引信息。
但是Myisam不支持事务
 
Innodb
只有一个*.frm的定义文件
支持事务,崩溃后自动恢复
建立方法
CREATE TABLE () ENGINE=InnoDB
 
6、导入导出
数据库的导出:

[root@fedora data]#mysqldump -uroot -p123456 mytestdb>/home/zhoulj/mytestdb.sql
将mytestdb数据库备份到mysestdb.sql文件中。
数据库的导入:

[root@fedora data]# mysql -uroot -p123456 mytestdb将备份文件导入到书库中。
 
表的导到出与导入:

例如:将 RATE_SUMMARY 表中的DATE1>=20060601 AND DATE1<=20060613的数据导出,然后在导入。
表的导出:

/usr/local/mysql/bin/mysqldump -uroot -p123456 --opt mysqldb RATE_SUMMARY --where="DATE1>='20060601' and DATE1<='20060613'" >RATE_SUMMARY-20060619.sql
表的导入:

/usr/local/mysql/bin/mysql -uroot -p123456 mysqldb  
 
7、删除binlog
[root@fedora data]# ll
total 20580
-rw-rw----  1 mysql mysql      140 Jun 10 16:38 fedora-bin.000001
-rw-rw----  1 mysql mysql      148 Jun 10 16:40 fedora-bin.000002
-rw-rw----  1 mysql mysql       79 Jun 11 12:49 fedora-bin.000003
删除fedora- bin.000002文件。
 
[root@fedora data]# mysql -uroot -p
Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 4.1.10a-max-log
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql>
mysql> purge master logs to 'fedora-bin.000003';
Query OK, 0 rows affected (0.06 sec)
 
mysql> \q;
Bye
[root@fedora data]# ll
total 20576
-rw-rw----  1 mysql mysql       79 Jun 11 12:49 fedora-bin.000003
-rw-rw----  1 mysql mysql       20 Jun 11 12:52 fedora-bin.index
 
ok,日志被删掉了,
注意:删除的文件不包含“文件名称里面的文件”
 
 
8、刷新binlog日志
 
BINLOG日志系统的组成:

BINLOG日志系统由两部分组成:xxxx-bin.index xxxx-bin.nnn
index文件是一个文本文件,每一行是一个文件名,记录一个xxxx-bin.nnn的文件所在的位置.
xxxx-bin.nnn 文件是mysql的binlog文件的实体,采用二进制方式存储数据的信息.
当一个xxxx- bin.nnn文件的大小达到 max_binlog_size 后mysql就会生成一个新的xxxx-bin.nnn文件.
 
index文件中的最后一个 xxxx-bin.nnn文件被称作Online Binlog,其他的被称作Archived Binlog.
Archived Binlog 在生成后就不再会有任何改动了,但是可以被其他的同步数据库通过数据同步机制进行访问(读取).
 
Online Binlog 是mysql正在使用的binlog,mysql在不断的追加信息,同时其他同步数据库也可能在读取这些信息.
 
 
 
方法1:在mysql提示符下输入flusd logs;
 
[root@fedora data]# ll

-rw-rw----  1 mysql mysql      140 Jun 10 16:38 fedora-bin.000001
这里没就1个binlog文件
 
mysql> flush logs;
Query OK, 0 rows affected (0.12 sec)
 
mysql>
 
[root@fedora data]# ll
-rw-rw----  1 mysql mysql      140 Jun 10 16:38 fedora-bin.000001

-rw-rw----  1 mysql mysql      79  Jun 10 16:40 fedora-bin.000002

删除fedora- bin.000002文件。
 
方法2:在命令行 mysqladmin flush-log
 
[root@fedora data]# /usr/local/mysql/bin/mysqladmin flush-log
 
[root@fedora data]# ll
-rw-rw----  1 mysql mysql      140 Jun 10 16:38 fedora-bin.000001

-rw-rw----  1 mysql mysql      79  Jun 10 16:40 fedora-bin.000002

-rw-rw----  1 mysql mysql      79  Jun 10 16:42 fedora-bin.000003
删除fedora- bin.000002文件。
 
 
 
9、初始化日志文件
使日志文件重.001开始
mysql> reset master;


阅读(880) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~