发布时间:2024-01-24阅读(5)
启动mysql服务
systemctl start mysqld 或 systemctl restart mysqld
systemctl status mysqld
systemctl enable mysqld
停止mysql服务
systemctl stop mysqld
查看mysql进程
ps -ef |grep mysql
登陆mysql
mysql -uroot -p
mysql -h 127.0.0.1 -u 用户名 -p
列出所有数据库
show databases;
进入数据库
use test_db;
列出数据库所有表
show tables;
查看表结构
desc table_name;
创建 test_db数据库
create database test_db;
删除test_db数据库
drop database test_db;
删除数据库表
drop table table_name;
删除表里面记录
delete from table_name;
查询数据库表数据
select * from 库.表;
查看host,user两字段的值
select Host,User from mysql.user;
select * from t1 where id=1 and age =’jfedu’
select * from t1 where rowkey like CZ|192.168.1.% limit 16000
SELECT * from T_LIGHT_DATA where CITY=CZ;
SELECT * FROM T_USER_LIGHT WHERE ""UPDATE_TIME"" >=20210701* LIMIT 10;
SELECT count(1) FROM T_USER_LIGHT a where a.CITY=CZ AND a.NET_MODE=FTTH
create table t1 (id varchar(20),name varchar(20)); 创建名为t1表,并创建两个字段,id、name,varchar表示设置数据长度,用字符来定义长度单位,其中1汉字=2字符=2Bytes;
insert into t1 values ("1","jfedu"); 向表中插入数据;
alter table t1 modify column name varchar(20); 修改name字段的长度;
update t1 set name=jfedu.net where id=1; 修改name字段的内容;
flush privileges; 刷新权限;
show variables like %char%; 查看数据库字符集;
show engines; 查看MySQL存储引擎;
show variables like %storage_engine%;查看MySQL默认的存储引擎;
alter table t1 engine=innodb; 修改MySQL t1表存储引擎;
更改mysql用户登陆密码
ALTER USER root@localhost IDENTIFIED BY 5XvwRTW&;
配置数据库远程登陆
GRANT ALL PRIVILEGES ON *.* TO root@%IDENTIFIED BY 5XvwRTW& WITH GRANT OPTION;
添加test用户查询、插入、更新、删除的权限:
grant select,insert,update,delete on *.* to test@""%"" identified by ""123456"";
grant select,insert,delete,update,create,drop on *.* to test@""%"" identified by ""123456"";
flush privileges;"
查看mysql工作进程
show processlist;
查看主从状态
show slave status;
mysql数据库备份与恢复
mysqldump -u root -p test_db > /test_db.sql
mysql -u root -p test_db.sql < /test_db.sql
mysql数据库数据导入
use test_db;
source /test_db.sql;
重置mysql root密码
mysqladmin -u root -p password “新密码” 回车后要求输入旧密码
Update mysql.user set password=password(‘新密码’) where user=’root’;
flush privileges;
grant all on *.* to root@’localhost’ identified by ‘新密码’;
设置mysql密码长度:
set global validate_password_policy=0;
set global validate_password_length=1;
grant all privileges on *.* to root@% identified by 123456;
#vi /etc/my.cnf #忘记密码,恢复密码
--skip-grant-table
mysql -uroot -pmysqlroot -e "ALTER USER root@localhost IDENTIFIED BY 密码
mysql -uroot -p123456 data -e ""select bn as 编码, bonusSn as 券码, useStartDate as 开始时间, useEndDate as 结束时间,吉祥红52度两支装 as 商品, if(status=1,已使用,未使用) as 是否使用, order_id as 订单号, member_id as 使用会员 from voucher where vouchertype_id=609
order by bn asc "" > info.txt
purge binary logs to mysql-bin.000354; #清理mysql binlog日志SET GLOBAL expire_logs_days = 3; #设置binlog保留3天FLUSH LOGS;show variables like expire_logs_days; |
mysql -u root -p> purge master logs to mysql-bin.010’; //清除mysql-bin.010日志> purge master logs before 2020-02-28 13:00:00; //清除2020-02-28 13:00:00前的日志> purge master logs before date_sub(now(), interval 90 day); //清除90天前的bin日志 |
数据库备份 |
备份所有数据库 mysqldump -uroot -p --all-databases > all.sql |
备份数据库test mysqldump -uroot -p test > test.sql |
备份数据库test下的表emp mysqldump -uroot -p test emp > emp.sql |
备份数据库test下的表emp和dept mysqldump -uroot -p test emp dept > emp_dept.sql |
备份数据库test下的所有表为逗号分割的文本,备份到/tmp: mysqlddump -uroot -p -T /tmp test emp --fields-terminated-by ,shell> more emp.txt 1,z12,z23,z34,z4 |
# 备份全部数据库(包含存储过程、自定义函数及事件)mysqldump -uroot -p123456 --single-transaction -R -E --all-databases > /tmp/all_database.sql |
# 要求记录 binlog 位点信息 可用于搭建从库mysqldump -uroot -p123456 --single-transaction -R -E --all-databases --master-data=2 > /tmp/all_database.sql |
# 备份指定数据库mysqldump -uroot -p123456 --single-transaction -R -E --databases db1 > /tmp/db1.sqlmysqldump -uroot -p123456 --single-transaction -R -E --databases db1 db2 > /tmp/db1_db2.sql |
# 备份部分表mysqldump -uroot -p123456 --single-transaction db1 tb1 > /tmp/tb1.sqlmysqldump -uroot -p123456 --single-transaction db1 tb1 tb2 tb3 > /tmp/tb.sql |
# 导出某个表,数据以单行insert显示mysqldump -uroot -p123456 --single-transaction --skip-extended-insert db1 tb1 > /tmp/tb1.sql |
# 导出单表的部分数据mysqldump -uroot -p123456 --single-transaction db1 tb1 --where=" create_time >= 2021-06-01 00:00:00 " > /tmp/tb1.sqlmysqldump -uroot -p123456 --single-transaction db1 tb1 --where=id < 10 > /tmp/tb1.sql |
# 排除某些表导出mysqldump -uroot -p123456 --single-transaction --databases db1 --ignore-table=db1.tb1 --ignore-table=db1.tb2 > /tmp/db1.sql |
# 只导出结构或只导出数据mysqldump -uroot -p123456 db1 --no-data > /tmp/db1_jiegou.sqlmysqldump -uroot -p123456 db1 --no-create-info > /tmp/db1_data.sql |
# 只导出某个库的存储过程及自定义函数mysqldump -uroot -p123456 -d -t -R db1 > /tmp/db1_routine.sql |
# 远程导出 即MySQL服务端不在本地mysqldump -uroot -p123456 -h192.168.1.10 -P3306 --single-transaction --databases db1 > /tmp/db1.sql |
#只导出除了系统库外的所有库数据 mysql -uroot -p123456 -e "show databases"|grep -Ev "Database|mysql|information_schema|performance_schema|sys"|xargs mysqldump -uroot -p --routines --single_transaction --master-data=2 --databases > mysql_dump.sql |
#导出所有数据库 mysqldump -uroot -p123456 --routines --single_transaction --master-data=2 --all-databases > mysql_dump.sql |
mysql分区表过大,配置自动回收innodb_max_undo_log_size = 4Ginnodb_undo_log_truncate = ONinnodb_undo_tablespaces = 3 |
mysql> show global variables like table_open_cache;mysql> show global status like Open%tables;mysql> set global table_open_cache=6144;清空表缓存mysql>flush tables; 可以将open_tables 清零systemctl restart mysqld 可以讲opened_tables 清零 |
数据库恢复 |
mysql -uroot -p db_name < backfile |
使用 mysqlbinlog 恢复自 mysqldump 备份以来的 binglog ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000002 | ./mysql t2 |
基于时间点恢复 上午 10 点发生了误操作 mysqlbinlog --stop-date="2017-09-30 9:59:59" /data/mysql/mysql-bin.123456 | mysql -uroot -ppassword |
mysqlbinlog --start-date="2017-09-30 10:01:00" /data/mysql/mysql-bin.123456 | mysql -uroot -ppassword |
基于位置恢复 |
mysqlbinlog --start-date="2019-09-30 9:59:59" --stop-date="2019-09-30 10:01:00"/data/mysql/mysql-bin.123456 > /tmp/mysql_restore.sql |
mysqlbinlog --stop-position="368312" /data/mysql/mysql-bin.123456 | mysql -uroot -ppassword |
mysqlbinlog --start-position="368315" /data/mysql/mysql-bin.123456 | mysql -uroot -ppassword |
表的导出 select * from test into outfile /data/mysql/outfile.txt fields terminated by "," enclosed by "; |
如果您喜欢本文,就请动动您的发财手为本文点赞评论转发,让我们一起学习更多运维相关知识,最后请记得关注我。
欢迎分享转载→http://www.umpkq.cn/read-223051.html
下一篇:花呗额度怎么分享
Copyright ? 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图