以下操作基于MySQL 5.7.8
更改root密码
service mysqld stop停用mysql服务后,修改/etc/my.cnf,最后加入skip-grant-tables选项,可以不需要密码连接MySQL
连接数据库后更新mysql.user表,增加root密码,UPDATE user SET authentication_string= PASSWORD('xxx') WHERE user = 'root';
数据库导入、导出
导出:mysqldump -uxx -pxx xele_monitor >monitor.sql(使用-d monitor则只导表结构)
mysqldump -uxx -pxx xele_monitor table_name>monitor.sql 导出单张表
mysqldump --extended-insert=FALSE --no-create-info=TRUE -uxxx -pxxx xele_monitor odr_input_order>./odr_input_order_${LOGTIME}.sql 该命令导出时,多sql恢复可以防止数据覆盖
导入: 新建空库 create database monitor;再进行导入mysql -uxx -pxx monitor < monitor.sql
find . -name '*.sql' | awk '{ print "source",$0 }' | mysql --batch -uxxx -pxxx xele_monitor 多sql恢复
表状态查询
show table status; 查看表使用的引擎等信息
show engines; 查看MySQL支持的存储引擎
show create table session_store;
desc xxx;
表恢复
mysqlcheck -u** -p ** --auto-repair
perror + errorno可以直接在shell上查看对应的error message
MyISAM table: .frm(表结构描述文件) .MYI文件
REPAIR TABLE 类似于 myisamchk --recover tbl_name. 可以应用于MyISAM,ARCHIVE,CSV table;而CHECK TABLE在此基础上,还能应用于InnoDB
sql文件使用
控制台下:mysql -h localhost -u root -p 123456 < d:\book.sql
mysql下:source d:\book.sql 或者 \. d:\book.sql