泽兴芝士网

一站式 IT 编程学习资源平台

MySQL合集-常用功能指导(mysql的功能)


1)连接mysql

mysql -h 主机地址 -u 用户名 -p 用户密码

mysql -u 用户名 -p 用户密码

2)创建用户

# mysql添加新用户,一般不可使用root用户,创建其他用户供系统使用

  mysql -h localhost -u root -p

  CREATE USER 'smartcity'@'localhost' IDENTIFIED BY 'Unicloud.1';

  SELECT host, user FROM mysql.user WHERE user='smartcity';

  GRANT ALL ON *.* TO 'smartcity'@'localhost';

  FLUSH PRIVILEGES;

# mysql开启远程访问

  use mysql;

  update user set host='%' where user='smartcity' and host='localhost';  #若安全要求比较高,可设置host为白名单机器ip

  flush privileges; 

3)备份/导入数据

#全量备份
mysqldump -u 用户名 -p 密码 --all-databases --single-transaction --routines --master-data=2  | gzip > "/tmp/$datestr.sql.gz";
#指定库备份
mysqldump  -u 用户名 -p 密码 库名 > 导出文件名
#指定表备份
mysqldump  -u 用户名 -p 密码 库名 表名 > 导出文件名

#导入数据,前提sql文件存储在服务器某一个目录,例如test库的sql文件存储在/tmp/test.sql
mysqldump -u 用户名 -p 密码
use test;
source /tmp/test.sql;
#导入大数据
mysql -u 用户名 -p 密码 < /test/test.sql

4)mysql慢查询、锁表

#查看进程id,然后用kill id杀掉进程
show processlist;

#查询正在执行的进程,time是用时,用时过长的情况需要注意是否存在慢查询
SELECT * FROM information_schema.PROCESSLIST where length(info) >0 ;

#查询是否锁表
show OPEN TABLES where In_use > 0;

#查看被锁住的
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

#等待锁定
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

#杀掉锁表进程
kill 8934072

编辑

5)mysql定时备份

#创建脚本
vi  /backup/backupmysql.sh 


#!/bin/sh

if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin  #视实际情况修改参数文件

export PATH
unset USERNAME

datestr=`date '+%Y%m%d'`;
folder='/data/mysqlbackup/';  #备份路径,一般放在数据盘或者备份盘

mysqldump -u'root' -p'Unidc@2018' --all-databases --single-transaction --routines --master-data=2  | gzip > "$folder/$datestr.sql.gz";

find $folder -type f -mtime +7  -exec rm -f {} \;
#添加可执行权限
chmod +x  /backup/backupmysql.sh 

crontab -e
0 2 * * * sh /backup/backupmysql.sh #凌晨2点备份
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言