UPDATE sms_config SET vendor_name='aaa',vendor_id='5',para4='4',para3='3',para2='2',para1='1' desc sms_config
# 不要在你本身的数据库里面,执行
use information_schema ## 查看表大小与数据库的大小 select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB, concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB from tables where table_schema='wacs_db' #数据库名 and table_name = 'ac_status'; #表名
##
+----------------+-----------------+
| data_length_MB | index_length_MB |
+----------------+-----------------+
| 20.95MB | 0.14MB |
+----------------+-----------------+
1 row in set (0.00 sec)mysql
在通过屡次试验以后终于解决了root登陆问题。解决步骤以下 $ sudo systemctl stop mysqld.service $ sudo systemctl set-environment MYSQLD_OPTS="--user=mysql --skip-grant-tables --skip-networking" $ sudo systemctl start mysqld.service $ mysql -u root mysql mysql > UPDATE mysql.user SET authentication_string=PASSWORD("abcdef") WHERE user='root' and host='localhost'; mysql > flush privileges; mysql > quit $ sudo systemctl unset-environment MYSQLD_OPTS $ sudo systemctl restart mysqld.service --------------------- 做者:xgx2015 来源:CSDN 原文:https://blog.csdn.net/myth_xgx/article/details/50809645 版权声明:本文为博主原创文章,转载请附上博文连接!
在 MySQL 5.6.6 版本之前, MySQL 默认会把全部的 innodb 的表都放在同一个文件中(ibdata1),当该文件过大的时候, MySQL 容易出错,维护性能差。一个简单的办法是修改 MySQL 配置文件 /etc/my.cnf 后重启 [mysqld]linux
innodb_file_per_table=1
mysql> show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | ON |
+-----------------------+-------+
1 row in set (0.00 sec)sql
查看MySQL版本数据库
/factory/database/mysql# mysql -V mysql Ver 14.14 Distrib 5.1.73, for openwrt-linux-gnu (x86_64) using readline 6.3
建立事件event,每秒检测,当数据大于1000条就删除一条性能
SET GLOBAL event_scheduler = ON; DROP EVENT IF EXISTS limit_ac_status; delimiter $ CREATE EVENT limit_ac_status ON SCHEDULE EVERY 1 SECOND DO IF (select count(*) from ac_status) > 10000 then delete from ac_status limit 1; END IF $ delimiter ;
修改状态ui
event_scheduler = 1
查看状态lua
mysql> SHOW VARIABLES LIKE 'event_scheduler'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | event_scheduler | ON | +-----------------+-------+ 1 row in set (0.00 sec)
use information_schema
mysql> select EVENT_NAME from EVENTS;
+-----------------+
| EVENT_NAME |
+-----------------+
| limit_ac_status |
+-----------------+
1 row in set (0.00 sec)url
针对每一个不一样的存储引擎(engine),每一个表的文件形式不一样。在这以前,你们要知道,mysql每一个表,其实以文件的形式存放在磁盘上的。 若是是myisam的,那么一个表有以下三个文件: 表名.frm:存放表结构的文件 表名.MYD:存放表数据的文件 表名.MYI:存放表索引的文件
21.0M ac_status.MYD 144.0K ac_status.MYI 16.0K ac_status.frm
若是是innodb的: 表名.frm:存放表结构 表数据和索引放在一个文件中:ibdata
数据库备份
一种办法是用mysqldump备份全部数据库后重建全部数据库,步骤以下 1. mysqldump -u user -p password --all-databases > backup.sql导出全部数据 2. 删除全部数据库 drop database database_N 3. 中止MySQL服务service mysql stop若是是Mariadb就是service mariadb stop 4. 删除文件ibdata1, ib_logfile0, ib_logfile1 5. 重启MySQL服务service mysql start若是是Mariadb就是service mariadb start 6. 导入备份数据mysql -u user -p password --all-databases < backup.sql
备份脚本(定时)spa
#!/bin/sh mysqldump -u root -p123456 wacs_db > /etc/config/back_mysql.sql
crontab -e.net
50 23 * * * lua /usr/sbin/back_mysql.sh >> /dev/null 2>&1