Tag: MySQL
如果开启了 MySQL binary log, 在 MySQL 资料目录里面会有很多这样的档案: mysql-bin.000001 mysql-bin.000002 mysql-bin.000003 mysql-bin.000004 mysql-bin.000005 MySQL 在默认情况下不会删除旧 binary log, 可以透过设定 my.cnf 进行日志轮替, 开启 my.cnf, 加入这一行在 区块内: expire_logs_days = 14 expire_logs_days 是指定 binary …
MySQL 的备份可以透过直接复制 MySQL 数据库目录(冷备份),或者用 mysqldump 汇出数据库的完整 SQL 语句实现(热备份),以下是两种方法的优/缺点,以及实现方法: 冷备份 这种方法最大的好处是简单,备份只要直接复制数据库目录,还原则只要将备份目录抄回原来位置便可以,而且速度会较快。但缺点是冷备份时必须要关闭 MySQL,如果 MySQL 在执行时进行冷备份,备份档可能会有不完整及损毁的情况,以下是冷备份步骤: 1. 关闭 MySQL: # /etc/rc.d/init.d/mysqld stop 2. 把 MySQL 的资料目录(包括 ibdata1, ib_logfile0, ib_logfile1 等)完整复制到另一个硬盘里面。 3. 开启 …
MySQL 在 5.1 版本开始默认没有支援 InnoDB, 如果用 yum 安装的话, Redhat 会处理好 InnoDB 支援, 但如果自行编译安装的话, 便需要作出一点改动。以前我编译 MySQL 会用以下参数编译: 这样会安装 MySQL 到 /usr/local/mysql51, 并安装所有额外的 charsets, 如果要在 MySQL 5.1 后支援 InnoDB, 需要加入支援 InnoDB …
要对 MySQL 数据库内的资料替换字串,可以借助 PHP 的 str_replace(),但这实在太麻烦了,其实MySQL 已内建了这个功能,以下语句可以将 资料表的 字段作 replace 动作, 是搜索字串; 是替换字串。 update set =replace(,’‘,’‘); 如果不想将整个资料表的字段资料更换,可以在最后用 where 做条件选择,例如: update set =replace(,’‘,’‘) where zip=’852′; 以上语句跟第一句的分别是,第二句只会对字段 “zip” 为 “852″ 的纪录作更改。
最近要更新 MySQL 资料表内其中一个字段的所有资料,只是用以下这个 SQL 指令: UPDATE table_name SET field_name=0; 有个 MySQL 回传的错误讯息为: “You are using safe update mode and you tried to update a table without a WHERE clause …
有时我们需要将不同字段的资料连接,或者在现在的资料后面加入内容,当然可以先从 MySQL 汇出资料,再把连接好的字串更新到 MySQL,但这未免太麻烦,另一个较方便的方法是借助 CONCAT() 实现,CONCAT() 语法为: CONCAT(string_1, string_2, string_3, …) MySQL 的 CONCAT() 支援多个字串连接,但在 Oracle 里面只可以有两个参数,要实现多个字串连接可以用 ‘||’ 来实现。以下是 CONCAT() 的使用实例: update table_name set email=CONCAT(email, ‘:me@email.com’) where id=’1′; 以上 …
如果忘记了 MySQL 的 root 密码,可以用以下方法重新设定: 1. 关闭 MySQL 服务器。 2. 用以下指令启动 MySQL,以跳过检查权限的资料表 mysqld_safe –skip-grant-tables &< 3. 现在己经可以用空密码进入 MySQL mysql -u root 4. 进入 MySQL 后执行以下指令更改 mysql root 密码: mysql> …
早前升级一台主机的 MySQL Server,升级后发现部份资料表无法开启,报出的错误讯息是: Unknown character set: ‘BIG5′ 出现这个问题的原因是新版本 MySQL 安装时没有安装额外的字集,而对上一个版本的 MySQL 是用 YUM 安装,所有透过套件工具安装的 MySQL 也会默认安装所有字集,解决方法是重新编译 MySQL 并加上所有的字集的选择 –with-extra-charsets=complex,编译语法如下: ./configure — prefix=/usr/local/mysql –with-extra-charsets=complex 如果在 FreeBSD 遇上这个问题,而 FreeBSD 内的 MySQL …
虽然在 Unix Like 环境已经有很多预先编译好的软件,例如 rpm 及 deb,但我较喜欢使用编译的方法安装软件,尤其是 server,以下是编译及安装 MySQL 4.1.18 的方法: 1. 到 MySQL Mirror 下载 source code 并储存到主机上。 2. 执行以下指令: 3. MySQL 已经安装完成,现在需要改变 mysql 目录的 owner: 4. 执行以上指令后,便可以启动 …
MySQL 是十分流行的开源数据库系统,很多网站也是使用 MySQL 作为后台资料储存,而 Python 要连接 MySQL 可以使用 MySQL 模组。MySQLdb 模组可以让 Python 程式连线到 MySQL server, 执行 SQL 语句及撷取资料等。 开始前要确定系统内的 Python 有安装 MySQLdb 模式,你可以 Python command line interpreter 检查,在指令模式输入 python,然后便可以开始检查: …