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

1.基本查看及登录:

mysql -uroot -p

show  databases;  ##查看数据库

use mysql;   ##进入数据库mysql

show tables;  ##查看表

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

2.表的操作:查,改,删,增

select * from  user \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‘,‘[email protected]‘); ##新增记录

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

drop database auth;     ##删除库auth

3.mysql的权限管理

grant all on 库.* to 用户@客户机地址 identified by ‘密码’;

show grants for 用户@客户机地址;

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

grant select,delete on mysql.user to ‘useradm‘@‘192.168.100.100‘ identified by ‘123123‘;

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

create  database 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/mysqld  start

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 </opt/all.sql   ##恢复

在bash中操作mysql:去交互

vi /root/test.sh

mysql -uroot -p123123 <<END

create database hehe;

END

:wq

chmod +x /root/test.sh

/root/test.sh

5.mysql忘记密码的解决方案:

vim /etc/my.cnf

[mysqld]

skip-grant-tables  ##添加该行,跳过密码验证

:wq

/etc/init.d/mysqld restart

mysql  ##登录后操作

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

Exit

vim /etc/my.cnf

[mysqld]

#skip-grant-tables  ##注释该行

:wq

/etc/init.d/mysqld restart

6.单独管理用户:

用户管理

mysql>use mysql;

mysql> select host,user,password from user ;

mysql>create user linuxfan identified by ‘123123‘;  ##identified by 会将纯文本密码加密作为/散列值存储

mysql>rename   user  linuxfan to   fage;##mysql 5之后可以使用,之前需要使用update 更新user表

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

mysql> update  mysql.user  set  password=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

[client]

default-character-set = utf8

[mysqld]

character-set-server = utf8

init_connect=‘SET NAMES utf8‘

:wq

/etc/init.d/mysqld restart

时间: 2024-08-05 07:16:29

mysql数据库基本操作以及备份与优化的相关文章

mysql数据库的安装以及常见优化设置

原文:mysql数据库的安装以及常见优化设置 本文根据优才网课程整理,面向web开发者,内容以实用为主,专业DBA可以绕行. 如果你在大公司,可能有专门的DBA来做这些事情,如果你在一个小公司当架构师或者技术总监,或者你自己创业,那DBA的活你也得干了.咱们来讲一下基本的mysql安装和优化. 一: MYSQL安装和基本配置 在linux上安装,可以用包管理工具来安装,比较简单:RedHat 系列:yum -y install mysql mysql-server Debian系列:sudo a

MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化

MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化 前言: 很多人都认为性能是在通过编写代码(程序代码或者是数据库代码)的过程中优化出来的,其实这是一个非常大的误区.真正影响性能最大的部分是在设计中就已经产生了的,后期的优化很多时候所能够带来的改善都只是在解决前妻设计所遗留下来的一些问题而已,而且能够解决的问题通常也比较有限.本章将就如何在 MySQL 数据库 Schema 设计的时候保证尽可能的高效,尽可能减少后期的烦恼. 9.1 高效的模型设计 最规范的就一定

MySQL数据库的自动备份与数据库被破坏后的恢复(2)

测试自动备份正常运转与否(备份恢复的方法) 这里,以通过实际操作的过程来介绍问题出现后的恢复方法. [1] 当数据库被删除后的恢复方法 首先建立一个测试用的数据库. [[email protected] ~]# mysql -u root -p ← 用root登录到MySQL服务器 Enter password: ← 输入MySQL的root用户密码 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL conne

MySQL数据库的自动备份与数据库被破坏后的恢复(3)

[2] 当数据库被修改后的恢复方法 数据库被修改,可能存在着多方面的原因,被入侵.以及相应程序存在Bug等等,这里不作详细介绍.这里将只介绍在数据库被修改后,如果恢复到被修改前状态的方法. 具体和上面所述的“数据库被删除后的恢复方法”相类似.这里,测试用数据库接着使用刚刚在前面用过的test.这里为了使刚刚接触数据库的朋友不至于理解混乱,我们再次登录到MySQL服务器上确认一下刚刚建立的测试用的数据库test的相关信息. [[email protected] ~]# mysql -u root

mysql数据库自动化完整备份和增量备份

mysql数据库自动化完整备份和增量备份     增量备份,为了增强mysql数据库的安全性和完整性,需要对数据进行备份.这里我们采用的策略是每周五下午5:30进行一次完整备份:每天的6:00.12:10.17:00进行增量备份. 1.完整备份脚本如下:(备份之后并打包存储) 2.增量备份脚本如下:(将生成的二进制文件内容读取出来并导入一个新的sql文件中) 增量备份的前提时,要在mysql的配置文件里打开二进制功能: log-bin=mysql 3.将这两个加进计划任务里 4.执行结果: 数据

MySQL数据库的自动备份与数据库被破坏后的恢复1

一.前言: 当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受MySQL提携的程序,而是当数据库遭到破坏后,怎样安然恢复到最后一次正常的状态,使得数据的损失达到最小. 或者说,仅仅是数据库服务器的建立,只能说明它能做些什么,并不代表它能稳定的做些什么.灾难恢复的效率及全面性,也是系统的稳定性的一个准因素,尤其对于一个服务器系统. 这一节,介绍数据库自动备份以及数据库被破坏后的恢复的方法.在这里,我们使用mysqlhotcopy,并且定义一段Shell脚本来实现数

1Python全栈之路系列之MySQL数据库基本操作

Python全栈之路系列之MySQL数据库基本操作 MySQL数据库介绍 MySQL是一种快速易用的关系型数据库管理系统(RDBMS),很多企业都在使用它来构建自己的数据库. MySQL由一家瑞典公司MySQL AB开发.运营并予以支持.它之所以非常流行,原因在于具备以下这些优点: 基于开源许可发布,无需付费即可使用. 自身的功能非常强大,足以匹敌绝大多数功能强大但却价格昂贵的数据库软件. 使用业内所熟悉的标准SQL数据库语言. 可运行于多个操作系统,支持多种语言,包括 PHP.PERL.C.C

Mysql数据库调优和性能优化

1. 简介 在Web应用程序体系架构中,数据持久层(通常是一个关系数据库)是关键的核心部分,它对系统的性能有非常重要的影响.MySQL是目前使用最多的开源数据库,但是mysql数据库的默认设置性能非常的差,仅仅是一个玩具数据库.因此在产品中使用MySQL数据库必须进行必要的优化. 优化是一个复杂的任务,本文描述MySQL相关的数据库设计和查询优化,服务器端优化,存储引擎优化. 2. 数据库设计和查询优化 在MySQL Server性能调优中,首先要考虑的就是Database Schema设计,和

m2014-architecture-webserver-&gt;百万记录级mysql数据库及Discuz!论坛优化

作者:shunz,出处:http://shunz.net/2008/06/mysql_discuz_.html 最近,帮一个朋友优化一个拥有20万主题,100万帖子,3万多会员,平均在线人数2000人的Discuz!论坛,采用Linux2.6+Apache2+mod_php5+MySQL5,服务器配置为双至强+4G内存,优化前,系统平均负载(load average)基本维持在10以上,MySQL的CPU占用率基本在90%以上,优化后,系统平均负载降到0.5以下,MySQL的CPU占用率很少有超