zoukankan      html  css  js  c++  java
  • windows环境下mysql的解压安装以及备份和还原

     系统环境为server2012

    1、下载mysql解压版,解压安装包到指定目录

    2、在以上目录中,复制一份my-default.ini文件,重命名为my.ini,进行如下修改(按照需要):

    [mysqld]
    # 服务端的编码方式
    character_set_server=utf8
    
    # These are commonly set, remove the # and set as required.
    #数据文件存放目录
    basedir = C:Program Filesmysql
    #数据文件存放目录
    datadir = C:Program Filesmysqldata
    port = 3306
    # server_id = .....
    
    
    # Remove leading # to set options mainly useful for reporting servers.
    # The server defaults are faster for transactions and fast SELECTs.
    # Adjust sizes as needed, experiment to find the optimal values.
    # join_buffer_size = 128M
    # sort_buffer_size = 2M
    # read_rnd_buffer_size = 2M 
    
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
    
    # 允许最大连接数
    max_connections=200
    

    3、添加环境变量,将C:Program Filesmysqlin添加到系统的环境变量Path中

    4、在命令行中执行命令mysqld -install

    与之对应的卸载命令:mysqld --remove

    5、mysql数据初始化

    执行mysqld --initialize-insecure --user=mysql命令,创建一个空密码的root账户。注意,如果执行的是mysqld --initialize命令,则会创建一个随机密码用户。

     初始化数据会会在安装目录下产生一个数据文件夹,如下图:

    因为以上配置文件中的设置为datadir = C:Program Filesmysqldata,所以文件夹名称为data。

     

    6、运行 net start mysql 启动服务,

     

     7、设置密码。执行 mysqladmin -u root -p password 新密码 命令,为root用户设置密码。此处为123。

    注意,Enter password 处输入的是原密码,此处为空。

     

     8、登录

     

     9、查看数据库

     

     10、设置远程登录

     查看user表,如下:

     

     数据库中执行命令update user set host = '%' where user = 'root'; 

     如下图: 

     最好刷新一下权限mysql> flush privileges;

    最后重新启动mysql服务,就可以进行远程登陆了(如果不能远程,重启一下一般会解决)。

    C:Program Filesmysqlin>net stop mysql
    MySQL 服务正在停止..
    MySQL 服务已成功停止。
    
    C:Program Filesmysqlin>net start mysql
    MySQL 服务正在启动 .
    MySQL 服务已经启动成功。

    11、忘记密码处理

    如下图,打开配置文件my.ini 在mysqld下面添加 skip-grant-tables,保存退出,并重启mysql服务

      

     此后可以使用mysql -u root -p,不使用密码进行登录,

    之后进入数据库,执行 use mysql 命令切换到其中的mysql数据库。

    然后执行如下命令

    update MySQL.user set authentication_string=password('123') where user='root' ;

    flush privileges;

    改好之后,重新修改my.ini这个文件,将加入的 skip-grant-tables 这行删除,保存退出,重启mysql服务。

    值得注意的是,重新进入数据库可能会遇到1820错误,要求重置密码,如下图,这个时候,只需要执行命令 SET PASSWORD = PASSWORD('123'); 即可  

     

     12、备份与还原

     为了测试,创建一个数据库mvc

     

     还原,语法如下:

    mysql -u root -p [dbname] < backup.sql

    下图的示例,还原mvc数据库

    执行的命令是 mysql -u root -p mvc  < e:mvc201709120200.sql

     备份,语法如下:

    备份一个数据库多个表
    mysqldump -u root -p dbname table1 table2 ... > bakname.sql

    备份多个数据库 加上了--databases选项,后面跟多个数据库

    mysqldump -u root -p --databases dbname1 dbname2...  >  bakname.sql

    备份所有数据库 
    mysqldump -u root -p -all-databases > bakname.sql

     下图中的示例,只备份一个数据库mvc,同时指定字符集为utf8

    mysqldump -u root -p --default-character-set=utf8 mvc >e:mvcbak.sql

     通常,可以使用一些工具进行数据备份与还原,例如Workbench

    如果要定时将数据备份到其他服务器,可以使用mysqlbackupftp这个软件。

  • 相关阅读:
    [转]面向接口编程详解(二)——编程实例
    [转]面向接口编程详解(一)——思想基础
    [转] LINQ to SQL快速上手 step by step
    Java备份MySQl数据库,并备份图片数据
    用密码密码拦截
    引用 MySQL集群:主从数据库配置 实现查询负载
    Oracle 对表操作 提示:资源正忙,要求指定nowait
    Jquery一款非好的图片轮换效果
    CodeBlocks集成ObjectiveC开发 Windows下学习ObjectiveC
    查询指定库中所有表
  • 原文地址:https://www.cnblogs.com/learn21cn/p/7520637.html
Copyright © 2011-2022 走看看