13管理和配置
=============
数据备份
使用mysqldump备份,mysqlimport恢复
load data infile恢复
恢复套件恢复
-----------
性能优化
analyze table
explain select
-----------
常规管理工具mysqladmin
路径
/usr/local/mysql/bin/mysqladmin
支持的操作
status 返回服务器状态信息
password 修改用户口令
shutdown 关闭mysql服务器
reload 重新载入mysql授权表
refresh 重置所有高速缓存和日志
variables 返回所有服务器变量值
version 返回服务器版本
processlist 返回服务器上所有进程列表
kill 取消一个服务器进程
ping 测试服务器是否在活动状态
help 获取可以使用命令的帮助列表
------------
启动和关闭服务器
启动
linux
/usr/local/mysql/support-files/mysql.server start/stop
/user/local/mysql/bin/mysqld_safe --user=mysql &
win
mysqld.exe
net start mysql
mysql自动启动
复制mysql.server脚本到系统/etc/init.d/*目录中
------------
检查mysql服务器状态
mysqladmin status
mysql> show status;
检查mysql版本
mysqladmin version
mysql> select version();
检查用户连接列表
mysql> show processlist;
如果有权限可以查看其他用户的连接并且kill其他连接
mysql> kill process_id;
mysql> kill 2;
mysqladmin也提供类似的功能
mysqladmin processlist
mysqladmin kill 2
--------------
修改服务器配置
配置记录在配置文件中
win
my.ini
linux
/etc/my,cnf
mysqld命令选项
ansi 使用更为严格的ansi sql-99语法
basedir 设置mysql安装目录位置
datadir 设置mysql数据目录位置
debug 创建一个排错文件
default-character-set 设置默认字符集
default-table-type 为新表设置表类型
flush 在每个sql命令后向磁盘写变化
init-file 设置包含在启动时执行的sql命令的文件
language 设置错误信息的语言
log 向日志写mysql信息(连接和查询)
log-long-format 向每个日志项目添加其他信息(类似用户名和时间戳)
log-error 向日志写关键错误信息
log-warnings 向日志写警告信息
log-slow-queries 向日志写慢执行查询
log-bin 想二进制日志(用于备份和恢复)写修改数据的查询
port 设置监听服务器的端口,以便客户机连接
safe-show-database 只向已登录的用户显示数据库
skip-bdb 禁止bdb表处理
skip-innodb 禁止innodb表处理
skip-grant-tables 执行访问控制时绕过授权表
skip-networking 只允许本地请求,停止监听tcp/ip请求
socket 设置本地连接使用的套接字/命名管道名
transaction-isolation 设置默认事务隔离等级
user 确定可以作为用户运行的服务器
tmpdir 设置临时文件区的位置
例:
/usr/local/mysql/bin/mysqld_safe --socket=/usr/tmp/mysql.scoket --user=mysql --skip-network &
--------------
使用set修改系统和连接变量
mysql> set table_type=innodb;
使用set的同时可以选择生效的范围,可选范围有global和session
mysql> set global max_user_connections=10,session read_buffer_size=250000;
mysql重要变量
autocommit 切换mysql是否试图自动提前交
key_buffer_size 设置索引使用的缓冲大小
table_cache 设置mysql可以在任何时间内打开表的总量
table_type 设置默认表类型
concurrent_inserts 在myisam表中允许insert和select并发
interactive_timeout 设置对话客户机连接的时限
language 设置错误信息使用的语言
lower_case_table_names 自动小写表名
sort_buffer_size 为排序结果设置缓冲最大规模
read_buffer_size 为读表设置缓冲规模
max_binlog_size 设置循环之前二进制日志的最大规模
max_connections 设置在任何具体时间允许客户连接的最大数量
max_user_connections 设置在任何具体时间内可激活的单独客户机连接的最大数量
max_tmp_tables 设置在任何具体时间内客户机可以打开临时表的最大数量
query_cache_type 查询告诉缓存开关切换
query_cache_size 设置查询告诉缓存的最大规模
tmpdir 设置临时文件区的位置
tx_isolation 设置事务独立等级
例:
mysql> set autocommit=0;
----------------
获取当前变量的设置
show variables like 'xxxx';
select @@variable;
mysql> show variables like 'table_type';
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| table_type | InnoDB |
+---------------+--------+
1 row in set (0.00 sec)
mysql> show variables like '%table%';
+----------------------------+----------+
| Variable_name | Value |
+----------------------------+----------+
| innodb_file_per_table | OFF |
| innodb_table_locks | ON |
| lower_case_table_names | 1 |
| max_heap_table_size | 16777216 |
| max_tmp_tables | 32 |
| table_cache | 700 |
| table_lock_wait_timeout | 50 |
| table_type | InnoDB |
| tmp_table_size | 16777216 |
| updatable_views_with_limit | YES |
+----------------------------+----------+
10 rows in set (0.00 sec)
mysql> select @@table_type;
+--------------+
| @@table_type |
+--------------+
| InnoDB |
+--------------+
1 row in set (0.03 sec)
---------------
mysql错误日志
unix
hostname.err
windows
mysql.err
存放在mysql data目录下
开启方法:
/usr/local/mysql/bin/mysqld_safe --log-error=/tmp/mysqld.errors --user=mysql &
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13177610/viewspace-684211/ ,如需转载,请注明出处,否则将追究法律责任。