yp1234 发表于 2018-10-11 08:40:05

mysql数据库基本操作以及备份

  1.基本查看及登录:
  mysql -uroot -p
  showdatabases;##查看数据库

  use mysql;   ##进入数据库mysql
  show tables;##查看表

  desc user;##查看表的结构,表头

  2.表的操作:查,改,删,增
  select * fromuser \G;##查询user表中的所有数据记录

  select host,user,password from user;##指定user表的字段进行查询

  update mysql.user set password=password("123123") where user="root"; ##修改root密码

  delete from mysql.user where user="";   ##删除用户为空的数据记录

  create database auth;##创建库auth
  create table auth.users(user_name char(16) not null, user_passwd char(48) default '',primary key (user_name)); ##创建表auth.users

  insert into auth.users values('hehe','pwd@123'); ##新增记录

  drop table auth.users;##删除表users

  drop database auth;   ##删除库auth

  3.mysql的权限管理

  grant all on 库.* to 用户@客户机地址>

  show grants for 用户@客户机地址;
  revoke 权限列表 on库.* from 用户@客户机地址;

  grant select,delete on mysql.user to 'useradm'@'192.168.100.100'>  show grants for 'useradm'@'192.168.100.100';

  revoke select,delete on mysql.user from 'useradm'@'192.168.100.100';

  delete from mysql.user where user='useradm';

  flush privileges;
  4.备份与恢复mysql
  登录到mysql
  createdatabase auth;
  Quit

  /etc/init.d/mysqld stop
  cd /usr/local/mysql/data
  cp -rf mysql/user.* auth/

  chown mysql:mysql auth/ -R
  chmod 755 auth
  chmod 660 auth/*

  /etc/init.d/mysqld start

  登录mysql
  use auth;
  show tables;   ##能看到user表,desc能查看结构,select

  mysql的冷备份:
  /etc/init.d/mysqld stop
  tar Jcf /opt/mysql-bak-$(date +%F).tar.xz /usr/local/mysql/data

  模拟故障:
  /etc/init.d/mysqld start

  mysql登录
  drop database auth;
  quit;


  /etc/init.d/mysqld stop

  mysql恢复:
  tar Jxf /opt/mysql-bak-*.tar.xz -C /root

  cd /root/usr/local/mysql/data
  cp -rf auth//usr/local/mysql/data

  chown mysql:mysql /usr/local/mysql/data/auth-R
  cd /usr/local/mysql/data
  chmod 755 auth
  chmod 660 auth/*

  /etc/init.d/mysqldstart
  mysql登录验证
  show databases;##数据已经恢复

  在线备份;mysqldump
  netstat -utpln |grep 3306 ##确保mysql启动

  mysqldump -uroot -p123123 --all-databases >/opt/all.sql#备份

  mysqldump -uroot -p123123 --all-databases --lock-talbes=0 >/opt/all.sql
  mysql -uroot -p123123 create user linuxfan>
  mysql>rename   userlinuxfan to   fage;##mysql 5之后可以使用,之前需要使用update 更新user表

  mysql> set password for fage=password('123'); ##:需在mysql.user 表中使用

  mysql> updatemysql.usersetpassword=password('123')where user='fage';##
  指定表中数据的根位置,无需进入表。

  mysql> show grants for fage;查看用户权限

  mysql> grant select on mysql.user to fage; ##赋予权限

  mysql> revoke select on mysql.user from fage;##如果权限不存在会报错

  mysql>drop user fage;   ##mysql5之前删除用户时必须先使用revoke 删除用户权限,然后删除用户,mysql5之后drop 命令可以删除用户的同时删除用户的相关权限

  7.设置mysql5.5显示中文名:
  vi /etc/my.cnf
  
  default-character-set = utf8
  
  character-set-server = utf8
  init_connect='SET NAMES utf8'
  :wq
  /etc/init.d/mysqld restart

页: [1]
查看完整版本: mysql数据库基本操作以及备份