mysql.server 脚本可以被用来启动或停止服务器,通过用start 或stop 参数调用它:
shell> mysql.server start
shell> mysql.server stop
对于Mac OS X 服务器上已经安装的MySQL 版本,如果早于4.0 ,应特别注意应当使用mysqld_safe 而不是 safe_mysqld 来启动mysqld 。
Windows 中的路径名用‘\ ’符间隔开,在MySQL 中还是转义字符。如果你使用LOAD DATA INFILE 或SELECT ... INTO OUTFILE ,用‘/ ’符使用Unix- 类文件名:
mysql> LOAD DATA INFILE 'C:/tmp/skr.txt' INTO TABLE skr;
mysql> SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM skr;
你还可以使用双‘\ ’符:
mysql> LOAD DATA INFILE 'C:\\tmp\\skr.txt' INTO TABLE skr;
mysql> SELECT * INTO OUTFILE 'C:\\tmp\\skr.txt' FROM skr;
远程连接主机
连接的主机、用户名和使用的密码) 。知道正确的参数后,可以按照以下方式进行连接:
shell> mysql -h host -u user -p
Enter password: ********
shell> mysql -h host -u user -p menagerie
Enter password: ********
注意,刚才显示的命令行中的menagerie 不 是你的 密码,是database 名字。如果你想要在命令行上在-p 选项后提供 密码,则不能插入空格( 例如,如-pmypassword ,不是-p mypassword ) 。但是,不建议在命令行输入密码,因为这样会暴露 密码,能被在机器上登录的其它用户窥探到。
版本号和当前日期
mysql> SELECT VERSION(), CURRENT_DATE;
如果你决定不想执行正在输入过程中的一个命令,输入\c 取消它:
正则表达式
由MySQL 提供的模式匹配的其它类型是使用扩展正则表达式。当你对这类模式进行匹配测试时,使用REGEXP 和NOT REGEXP 操作符( 或RLIKE 和NOT RLIKE ,它们是同义词) 。
扩展正则表达式的一些字符是:
· ‘. ’匹配任何单个的字符。
· 字符类“ [...] ” 匹配在方括号内的任何字符。例如,“ [abc] ” 匹配“ a ” 、“ b ” 或“ c ” 。为了命名字符的范围,使用一个“- ”。“ [a-z] ” 匹配任何字母,而“ [0-9] ” 匹配任何数字。
· “ * ” 匹配零个或多个在它前面的字符。例如,“ x* ” 匹配任何数量的“ x ” 字符,“ [0-9]* ” 匹配任何数量的数字,而“ .* ” 匹配任何数量的任何字符。
- 如果REGEXP 模式与被测试值的任何地方匹配,模式就匹配( 这不同于LIKE 模式匹配,只有与整个值匹配,模式才匹配) 。
- 为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“ ^ ” 或在模式的结尾用“ $ ” 。
为了说明扩展正则表达式如何工作,下面使用REGEXP 重写上面所示的LIKE 查询:
为了找出以“ b ” 开头的名字,使用“ ^ ” 匹配名字的开始:
mysql> SELECT * FROM pet WHERE name REGEXP '^b';
找出当前选择了哪个数据库
SELECT DATABASE();
备份恢复策略
完全备份
shell> mysqldump --single-transaction --all-databases > backup_sunday_1_PM.sql
恢复
shell> mysql < backup_sunday_1_PM.sql
指定恢复时间
mysqlbinlog --start-date="2005-04-20 10:01:00" /var/log/mysql/bin.123456 \
| mysql -u root -p mypwd \
指定恢复位置
mysqlbinlog --start-date="2005-04-20 9:55:00" --stop-date="2005-04-20 10:05:00" \
/var/log/mysql/bin.123456 > /tmp/mysql_restore.sql
查询高速缓冲配置
通过have_query_cache 服务器系统变量指示查询缓存是否可用:
mysql> SHOW VARIABLES LIKE 'have_query_cache';
客户可以禁用自己的查询缓存,方法如下:
mysql> SET SESSION query_cache_type = OFF;
监视查询缓存性能,使用SHOW STATUS 查看缓存状态变量:
mysql> SHOW STATUS LIKE 'Qcache%';