Mysql note 2
mysqld是MySQL服务器。 mysqld_safe、mysql.server和mysqld_multi是服务器启动脚本。 mysql_install_db初始化数据目录和初始数据库。 mysql是一个命令行客户程序,用于交互式或以批处理模式执行SQL语句。 mysqladmin是用于管理功能的客户程序。 mysqlcheck执行表维护操作。 mysqldump和mysqlhotcopy负责数据库备份。 mysqlimport导入数据文件。 mysqlshow显示信息数据库和表的相关信息。 myisamchk执行表维护操作。 myisampack产生压缩、只读的表。 mysqlbinlog是处理二进制日志文件的实用工具。 perror显示错误代码的含义。 MySQL程序首先检查环境变量,然后检查选项文件,然后检查命令行来确定给出了哪些选项。如果多次指定一个选项,最后出现的选项占先。这说明环境变量具有最低的优先级,命令行选项具有最高优先级。 MySQL-Max服务器是mysqld MySQL服务器的一个版本,包含了更多的特性。 使用show engines来查看版本支持的引擎 使用show variables 来查看变量,使用show varibales like 'timestamp%'来进行过滤 默认情况下,mysqld_safe尝试启动可执行mysqld-max(如果存在),否则启动mysqld。 mysql.server: 启动或关闭mysql服务 mysqld_multi:管理多个MySQL服务器的程序 修改root的密码: update mysql.user set password=password('Auto@sql') where user='root'; flush privileges; mysql中用户和mysql所在系统的用户无关,建议使用非root的系统账户来运行mysql,需确保该账户对数据目录有读写权限。 使用mysqladmin processlist -user='user1' --password='pwd' 来查看正在运行的查询文本。 账户权限信息被存储在mysql数据库的user、db、host、tables_priv、columns_priv和procs_priv表中。 查看当前用户:SELECT CURRENT_USER(); mysql使用hash来处理密码:SELECT password('psw'); 可以用两种方式创建MySQL账户: ->使用GRANT语句 ->直接操作MySQL授权表 使用drop来删除用户。 在MySQL 5.1中,你可以为具体账户限制下面的服务器资源: ->账户每小时可以发出的查询数 ->账户每小时可以发出的更新数 ->账户每小时可以连接服务器的次数 GRANT ALL ON customer.* TO 'francis'@'localhost' IDENTIFIED BY 'frank' WITH MAX_QUERIES_PER_HOUR 20 MAX_UPDATES_PER_HOUR 10 MAX_CONNECTIONS_PER_HOUR 5 MAX_USER_CONNECTIONS 2; mysqlhotcopy只适合myISAM表 对于InnoDB表,可以进行在线备份,不需要对表进行锁定 使用myisamchk 来检查和修复表 使用SELECT @@global.time_zone, @@session.time_zone;来查看服务器时区和当前连接的时区; 使用SET GLOBAL time_zone = timezone;来设置服务器时区; 使用SET time_zone = timezone;来设置当前客户端连接的时区; Mysql的日志文件: 日志文件 记入文件中的信息类型 错误日志 记录启动、运行或停止mysqld时出现的问题。 查询日志 记录建立的客户端连接和执行的语句。 更新日志 记录更改数据的语句。不赞成使用该日志。 二进制日志 记录所有更改数据的语句。还用于复制。 慢日志 记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。 使用FLUSH LOGS|mysqladmin flush-logs|mysqladmin refresh 来刷新日志。 二进制日志以一种更有效的格式,并且是事务安全的方式包含更新日志中可用的所有信息。 二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改。 二进制日志的主要目的是在恢复使能够最大可能地更新数据库,因为二进制日志包含备份后进行的所有更新。 二进制日志还用于在主复制服务器上记录所有将发送给从服务器的语句。 运行服务器时若启用二进制日志则性能大约慢1%。但是,二进制日志的好处,即用于恢复并允许设置复制超过了这个小小的性能损失。