分类归档:Mysql相关

Mysql主从服务器的配置

主要是修改配置文件,一般在linux下安装的mysql配置文件是my.cnf,windwos下是my.ini,

修改主服务器配置文件

server-id=1

log-bin=二进制文件的位置    //主服务器需打开二进制日志

binlog-do-db=mydata //需要同步的数据库

#binlog-ignore-db=

用户必须有REPLICATION SLAVE 权限

配置从服务器

server-id = 2

replicate-do-db=mydata

master-host     =   192.168.1.100

master-user     =  root

master-password = lcxlcx

master-port     =  3306

蓝色部分在某些mysql版本下可能有不兼容的情况

通过输入命令解决

change master to master_host=’主服务器地址‘, master_user=’用户名‘, master_password=’密码‘, master_port=端口号,MASTER_CONNECT_RETRY=10;

再执行start slave;

重启mysql后后在从服务器输入命令

show slave status\G;

查看状态

 

 

reset master; //相当于清空配置

mysql数据库相关思路备份

今天需要把A B两个网站的一些数据更新到C网站,数据结构使用B网站的,A B网站略有不同
思路如下:
1. 复制B数据库到C
2. 复制A数据库到临时数据库L
3. 同步L数据库的结构为B
4. 导出L数据
5. 导入C

中间可能用到的:

1. 不拷贝表数据,只拷贝结构。

CREATE TABLE new_table LIKE old_table

2. 通过 SELECT 查询来拷贝,new_table 表会丢失主键、索引等信息。

引用

CREATE TABLE new_table AS( SELECT * FROM old_table)

3. 完全拷贝表

CREATE TABLE new_table LIKE old_table;INSERT INTO new_table SELECT * FROM old_table;

4. 仅拷贝字段

CREATE TABLE new_table AS( SELECT field1, field2 FROM old_table)

5. 部分拷贝

CREATE TABLE new_table AS( SELECT * FROM old_table WHERE field1 = ‘mangguo’)

替换文本SQL

替换文本SQL

UPDATE `linuxso_archives` SET `title` = replace(title,’原来的’, ‘新的’ ) WHERE `typeid` =18;

Windows 下制作免安装的 MySQL 简化版

1、首先下载免安装包 mysql-noinstall-5.1.54-win32.zip(其它版本类似)
2、复制 bin 、data 和 share 三个目录和 my-medium.ini 文件到 d:\tools\mysql 目录
修改 my-medium.ini 的名称为 my.ini
保留 bin 目录下的 mysqld.exe 文件,mysqladmin.exe 和 mysql.exe 建议也保留,其它文件是否保留视情况而定
data 和 share 两个目录不需要修改
【注】如果使用 innodb_plugin 功能,还需要复制 lib\plugin\ha_innodb_plugin.dll 文件(保持目录结构)
3、修改配置文件 my.ini 指定基本目录和数据目录
basedir=”d:\tools\mysql ”
datadir=”d:\tools\mysql \data\”
如果使用 innodb_plugin 功能,修改配置文件 my.ini 增加如下配置
ignore-builtin-innodb
plugin-load=innodb=ha_innodb_plugin.dll
innodb_file_format=barracuda
innodb_strict_mode=1
4、安装 MySQL 服务器,将其注册为 Windows 服务
命令行切换到 d:\tools\mysql\bin 目录
执行安装的命令
mysqld.exe –install MySQL5 –defaults-file=”d:/tools/mysql/my.ini”
执行卸载的命令
mysqld –remove MySQL5

mysql密码找回

1、cmd进入命令行,切换到mysql的安装目录(本机mysql安装路径D:\MySQL)

C:\Documents and Settings\Administrator>d:
D:\>cd D:\MySQL\MySQL Server 5.0\bin
D:\MySQL\MySQL Server 5.0\bin>dir
 驱动器 D 中的卷是 新加卷
 卷的序列号是 923D-971E
 D:\MySQL\MySQL Server 5.0\bin 的目录
2010-01-12  15:44    <DIR>          .
2010-01-12  15:44    <DIR>          ..
2006-05-26  04:50         1,196,032 comp-err.exe
2006-05-26  04:50         1,470,464 libmySQL.dll
2006-05-26  04:50         1,433,600 myisamchk.exe
2006-05-26  04:50         1,339,392 myisamlog.exe
2006-05-26  04:50         1,351,680 myisampack.exe
2006-05-26  04:50         1,314,816 myisam_ftdump.exe
2006-05-26  04:50         1,572,864 mysql.exe
2006-05-26  04:50         1,437,696 mysqladmin.exe
2006-05-26  04:50         1,454,080 mysqlbinlog.exe
2006-05-26  04:50         1,425,408 mysqlcheck.exe
2006-05-26  04:50         6,680,576 mysqld-debug.exe
2006-05-26  04:50         4,648,960 mysqld-max-nt.exe
2006-05-26  04:50         4,644,864 mysqld-max.exe
2006-05-26  04:50         4,149,248 mysqld-nt.exe
2006-05-26  04:50         4,149,248 mysqld.exe
2006-05-26  04:50         1,466,368 mysqldump.exe
2006-05-26  04:50         1,429,504 mysqlimport.exe
2006-04-19  04:41         1,561,600 MySQLInstanceConfig.exe
2006-05-26  04:50         1,470,464 mysqlmanager.exe
2006-05-26  04:50         1,429,504 mysqlshow.exe
2006-05-26  04:50         1,527,808 mysqltest.exe
2006-05-26  04:50         1,761,280 mysql_client_test.exe
2006-05-26  04:50         1,191,936 my_print_defaults.exe
2006-05-26  04:50         1,171,456 perror.exe
2006-05-26  04:50         1,187,840 replace.exe
              25 个文件     52,466,688 字节
               2 个目录 23,282,192,384 可用字节
D:\MySQL\MySQL Server 5.0\bin>mysqld-nt –skip-grant-tables
2、cmd打开另一个命令行窗口
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrator>mysql -uroot -p
Enter password:(这里提示输入密码直接回车即可)
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 5.0.22-community-nt
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> update mysql.user set password=password(‘admin’) where user=’root’;(修改root用户密码)
Query OK, 2 rows affected (0.09 sec)
Rows matched: 2  Changed: 2  Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.16 sec)
mysql> exit;
Bye
win7/win8使用管理员权限运行  kill mysqld进程

C:\Documents and Settings\Administrator>net start mysql
MySQL 服务已经启动成功。
C:\Documents and Settings\Administrator>net stop mysql
没有启动 MySQL 服务。
请键入 NET HELPMSG 3521 以获得更多的帮助。
C:\Documents and Settings\Administrator>net helpmsg 3521
没有启动 *** 服务。
C:\Documents and Settings\Administrator>net start mysql
MySQL 服务已经启动成功。

MySQL复制表结构和内容到另一张表中的SQL

1.复制表结构及数据到新表

CREATE TABLE 新表
SELECT * FROM 旧表

2.只复制表结构到新表

CREATE TABLE 新表
SELECT * FROM 旧表 WHERE 1=2
即:让WHERE条件不成立.
方法二:(低版本的mysql不支持,mysql4.0.25 不支持,mysql5已经支持了)
CREATE TABLE 新表
LIKE 旧表

3.复制旧表的数据到新表(假设两个表结构一样)

INSERT INTO 新表
SELECT * FROM 旧表

4.复制旧表的数据到新表(假设两个表结构不一样)

INSERT INTO 新表(字段1,字段2,…….)
SELECT 字段1,字段2,…… FROM 旧表