mysql管理知识点

mysql是完全开原的关系型数据库,在web后端用的比较多,经典的架构有LAMP,LNMP,其中的M就指mysql。

一:安装

   新版的linux里默认的已经不是mysql,而是他的一个分支mariadb ,sudo yum -y install MariaDB-client MariaDB-server MariaDB-devel

启动mysql  :

# service start mariadb    //启动
# service stop mariadb    //关闭
#  service restart mariadb    //重启

在centos7中
 # systemctl start mariadb
#  systemctl stop mariadb
#  systemctl restart mariadb 

mysql客户端程序:进入客户端程序

$ mysql -u root -p   //回车后输入密码 刚安装的没有密码则为 mysql -u root  
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 5.5.50-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

在客户端里可以使用sql语句进行操作

使用mysqladmin管理数据库:可以执行检查配置文件、检查服务状态、关闭服务器、创建删除数据库等

命令格式

mysqladmin [ options ]  command

option选项如下:   

   create db_name    创建一个名为db_name的 新数据库。
    debug          告诉服务器向错误日志写入调试信息。
    drop db_name    删除名为db_nam的 数据库和所有表。
    extended-status     显示服务器状态变量及其值。
    flush-hosts    刷新主机缓存中的所有信息。
    flush-logs    刷新所有日志。
    flush-privileges    重载授权表(类似reload)。
    flush-status    清除状态变量。
    flush-tables    刷新所有表。
    flush-threads    刷新线程缓存。
    kill id,id,...    杀掉服务器线程。
    old-password new-password    类似password但 使用旧的(pre-4.1)密码哈希格式保存 密码。
    password new-password    设 置一个新密码。
    processlist    显示活动服务器线程的列表。
    reload   重载授权表。
    refresh    刷新所有表并关闭和打开日志文件。
    shutdown    停止服务器。
    start-slave    开始从服务器上的复制。
    status    显示短服务器状态消息。
    stop-slave    停止从服务器上的复制。
    variables    显示服务器系统变量及其值。
    version    显示服务器的版本信息。
  --host=host_name, -h hostname   指定登陆的服务器
  --user=user_name ,-u user_name  制定登陆名
  --password[=password] ,-p[password]   制定登陆密码

修改密码:mysqladmin -uuse_name -poldpassword password newpassword

如果用户名的密码为空则不用 -p参数如:

mysqladmin -uroot password mynewpassword

二:备份与恢复mysqldump:

 

 mysqldump [ options ] db_name [ tables] 导出指定的数据表(需要带上-u -p选项)

   如导出test数据库的table_test到test.sql文件中: mysqldump -uroot -pmypassword test table_test  > test.sql,如果忽略tables则导出所有表

  mysqldump [options] --databases db1 [db2 db3.........]  导出多个数据库中的所有表(需要带上-u -p选项)

  mysqldump [options] --all-databases 导出所有数据库(需要带上-u -p选项)

options选项用来制定导出策略

  可以配合crontab 实现自动定时备份数据

恢复:mysql -f -u use_name -p DB_name < test.sql

  或者登上客户端后:source test.sql

mysqlhotcopy 只能备份使用MyIASM 引擎的数据库和表

使用sql语句备份与恢复

 select * into outfile '备份路径及文件名' from ....................................................使用此备份的不再是sql文件

load data infile '文件路径及文件名' into table db_Name.TableName (指定表名)

 

稻草人    

2016/12/30

 

posted @ 2016-12-30 12:47  bingxl  阅读(304)  评论(0编辑  收藏  举报
博客地地址:https://bingxl.cn