windows环境下mysql的解压安装及备份和还原,0详细

  • 1、备份服务器上MySQL数据库

系统环境为server2012

centos6.5 tar包方式安装mysql6.8

原文链接

环境:
1.操作系统:CentOS release 6.8 (Final)
2.安装版本: mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz
3.下载地址:http://dev.mysql.com/downloads/mysql/
4.下载说明:上边的下载地址是最新版的,如果想下载老版本可以点击页面中的超链接“Looking for previous GA versions?”
5.特殊说明:Linux下MySQL5.6与MySQL5.7安装方法略有不同,本文以5.6为主

参考博文:

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

安装步骤:

Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

[root@localhost ] # mysqldump -h localhost -u root -proot --databases Surpass --routines > /home/SQLBackup/Surpassme_20180801.sql

图片 1

0.卸载老版本MySQL

查找并删除maysql有关的文件

find / -name mysql
rm -rf 上边查找到的路径,多个路径用空格隔开
或用下面的一条命令实现
find / -name mysql|xargs rm -rf 

MySQL修改root密码的多种方法

  • 2、查看备份后的SQL脚本

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

1.在安装包存放目录下执行命令解压文件
tar -zxvf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz

MySQL的备份与还原

[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
2.删除安装包,重命名解压后的文件
rm -rf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.31-linux-glibc2.5-x86_64/ /usr/local/mysql

解决mysql导入还原时乱码的问题

[root@localhost ] # du -sh /home/SQLBackup/Surpassme_20180801.sql
200M Surpassme_20180801.sql

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

3.添加mysql用户组和mysql用户

先检查是是否存在用户和组

groups mysql

若无,则添加

groupadd mysql
useradd -r -g mysql mysql  #-r建立系统账号
groups mysql

Mysql开启远程连接方法

  • 3、查询服务器安装的MySQL

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

4.进入mysql目录更改权限
cd mysql/
chown -R mysql:mysql ./

mysql 赋予用户权限 grant命令 

``

5.执行安装脚本
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data (--pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/tmp)

安装完后修改当前目录拥有者为root用户修改date目录拥有者为mysql

chown -R root:root ./
chown -R mysql:mysql data

Mysql数据库操作常用命令

[root@localhost ] # rpm -qa | grep -i mysql
  MySQL-client-5.6.38-1.el6.x86_64
  MySQL-server-5.6.38-1.el6.x86_64
  MySQL-devel-5.6.38-1.el6.x86_64

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

6.配置文件
cd /software/mysql-5.6.21/support-files
cp my-default.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysql

CentOS下如何完全卸载MySQL?解决卸载不干净的问题

  • 4、停止MySQL服务

5、mysql数据初始化

6.更改mysql密码

启动mysql服务

./support-files/mysql.server start
#如果MySQL启动报错,则可能是已经存在MySQL进程,杀掉即可,然后再重启
ps aux | grep mysql
kill -9 上边的进程号
#或者下边一条命令即可杀掉所有MySQL进程
ps aux|grep mysql|awk '{print $2}'|xargs kill -9

MySQL启动之后再执行如下命令更改密码:

./bin/mysqladmin -u root -h 127.0.0.1 password 'root'
上一步**安装脚本执行**输出的日志中告诉我们如何更改密码了
./bin/mysqladmin -u root password 'new-password'
./bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

密码更改后即可登录MySQL

./bin/mysql -h127.0.0.1 -uroot -proot

一、安装

1、yum进行mysql的安装

我是通过yum的方式来进行mysql的数据库安装,首先我们可以输入 yum list | grep mysql 命令来查看yum上提供的mysql数据库可下载的版本:

[root@xiaoluo ~]# yum list | grep mysql

就可以得到yum服务器上mysql数据库的可下载版本信息: 

图片 2 

然后我们可以通过输入 yum install -y mysql-server mysql mysql-devel 命令将mysql mysql-server mysql-devel都安装好(注意:安装mysql时我们并不是安装了mysql客户端就相当于安装好了mysql数据库了,我们还需要安装mysql-server服务端才行

[root@xiaoluo ~]# yum install -y mysql-server mysql mysql-devel

1.2 mysql数据库的初始化及相关配置

我们在安装完mysql数据库以后,会发现会多出一个mysqld的服务,这个就是咱们的数据库服务,我们通过输入 service mysqld start 命令就可以启动我们的mysql服务。

注意:如果我们是第一次启动mysql服务,mysql服务器首先会进行初始化的配置,如:

[root@xiaoluo ~]# service mysqld start
初始化 MySQL 数据库: WARNING: The host 'xiaoluo' could not be looked up with resolveip.
This probably means that your libc libraries are not 100 % compatible
with this binary MySQL version. The MySQL daemon, mysqld, should work
normally with the exception that host name resolving will not work.
This means that you should use IP addresses instead of hostnames
when specifying MySQL privileges !
Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h xiaoluo password 'new-password'

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/bin/mysqlbug script![确定]
正在启动 mysqld:                                            [确定]

这时我们会看到第一次启动mysql服务器以后会提示非常多的信息,目的就是对mysql数据库进行初始化操作,当我们再次重新启动mysql服务时,就不会提示这么多信息了,如: 

[root@xiaoluo ~]# service mysqld restart
停止 mysqld:                                             [确定]
正在启动 mysqld:                                          [确定]

 我们在使用mysql数据库时,都得首先启动mysqld服务,我们可以 通过  chkconfig --list | grep mysqld 命令来查看mysql服务是不是开机自动启动,如: 

[root@xiaoluo ~]# chkconfig --list | grep mysqld
mysqld             0:关闭    1:关闭    2:关闭    3:关闭    4:关闭    5:关闭    6:关闭

 我们发现mysqld服务并没有开机自动启动,我们当然可以通过 chkconfig mysqld on 命令来将其设置成开机启动,这样就不用每次都去手动启动了 

[root@xiaoluo ~]# chkconfig mysqld on
[root@xiaoluo ~]# chkconfig --list | grep mysql
mysqld             0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭

 mysql数据库安装完以后只会有一个root管理员账号,但是此时的root账号还并没有为其设置密码,在第一次启动mysql服务时,会进行数据库的一些初始化工作,在输出的一大串信息中,我们看到有这样一行信息 : 

/usr/bin/mysqladmin -u root password 'new-password'  // 为root账号设置密码

 所以我们可以通过 该命令来给我们的root账号设置密码(注意:这个root账号是mysql的root账号,非Linux的root账号) 

[root@xiaoluo ~]# mysqladmin -u root password 'root'  // 通过该命令给root账号设置密码为 root

 此时我们就可以通过 mysql -u root -p 命令来登录我们的mysql数据库了

图片 3

1.3 mysql数据库的主要配置文件

1.3.1./etc/my.cnf 这是mysql的主配置文件

我们可以查看一下这个文件的一些信息

[root@xiaoluo etc]# ls my.cnf 
my.cnf

[root@xiaoluo etc]# cat my.cnf 
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

1.3.2./var/lib/mysql   mysql数据库的数据库文件存放位置

我们的mysql数据库的数据库文件通常是存放在了/ver/lib/mysql这个目录下 

[root@xiaoluo ~]# cd /var/lib/mysql/
[root@xiaoluo mysql]# ls -l
总用量 20488
-rw-rw----. 1 mysql mysql 10485760 4月   6 22:01 ibdata1
-rw-rw----. 1 mysql mysql  5242880 4月   6 22:01 ib_logfile0
-rw-rw----. 1 mysql mysql  5242880 4月   6 21:59 ib_logfile1
drwx------. 2 mysql mysql     4096 4月   6 21:59 mysql  // 这两个是mysql数据库安装时默认的两个数据库文件
srwxrwxrwx. 1 mysql mysql        0 4月   6 22:01 mysql.sock
drwx------. 2 mysql mysql     4096 4月   6 21:59 test  // 这两个是mysql数据库安装时默认的两个数据库文件

我们可以自己创建一个数据库,来验证一下该数据库文件的存放位置 

创建一个我们自己的数据库:
mysql> create database xiaoluo;
Query OK, 1 row affected (0.00 sec)

[root@xiaoluo mysql]# ls -l
总用量 20492
-rw-rw----. 1 mysql mysql 10485760 4月   6 22:01 ibdata1
-rw-rw----. 1 mysql mysql  5242880 4月   6 22:01 ib_logfile0
-rw-rw----. 1 mysql mysql  5242880 4月   6 21:59 ib_logfile1
drwx------. 2 mysql mysql     4096 4月   6 21:59 mysql
srwxrwxrwx. 1 mysql mysql        0 4月   6 22:01 mysql.sock
drwx------. 2 mysql mysql     4096 4月   6 21:59 test
drwx------. 2 mysql mysql     4096 4月   6 22:15 xiaoluo  // 这个就是我们刚自己创建的xiaoluo数据库
[root@xiaoluo mysql]# cd xiaoluo/
[root@xiaoluo xiaoluo]# ls
db.opt

3./var/log mysql数据库的日志输出存放位置

我们的mysql数据库的一些日志输出存放位置都是在/var/log这个目录下

[root@xiaoluo xiaoluo]# cd 
[root@xiaoluo ~]# cd /var/log
[root@xiaoluo log]# ls
amanda                cron           maillog-20130331   spice-vdagent.log
anaconda.ifcfg.log    cron-20130331  mcelog             spooler
anaconda.log          cups           messages           spooler-20130331
anaconda.program.log  dirsrv         messages-20130331  sssd
anaconda.storage.log  dmesg          mysqld.log         tallylog
anaconda.syslog       dmesg.old      ntpstats           tomcat6
anaconda.xlog         dracut.log     piranha            wpa_supplicant.log
anaconda.yum.log      gdm            pm-powersave.log   wtmp
audit                 httpd          ppp                Xorg.0.log
boot.log              ibacm.log      prelink            Xorg.0.log.old
btmp                  lastlog        sa                 Xorg.1.log
btmp-20130401         libvirt        samba              Xorg.2.log
cluster               luci           secure             Xorg.9.log
ConsoleKit            maillog        secure-20130331    yum.log

其中mysqld.log 这个文件就是我们存放我们跟mysql数据库进行操作而产生的一些日志信息,通过查看该日志文件,我们可以从中获得很多信息

 因为我们的mysql数据库是可以通过网络访问的,并不是一个单机版数据库,其中使用的协议是 tcp/ip 协议,我们都知道mysql数据库绑定的端口号是 3306 ,所以我们可以通过 netstat -anp 命令来查看一下,Linux系统是否在监听 3306 这个端口号:

图片 4

结果如上所示,Linux系统监听的3306端口号就是我们的mysql数据库!!!!

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

7.增加远程登录权限

本地登录Mysql后执行如下命令

grant all privileges on *.* to root@'%' identified by '密码';
flush privileges;

二、修改root密码的4种方法

方法1: 用SET PASSWORD命令

  mysql -u root

  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

方法2:用mysqladmin

  mysqladmin -u root password "newpass"

  如果root已经设置过密码,采用如下方法

  mysqladmin -u root password oldpass "newpass"

方法3: 用UPDATE直接编辑user表

  mysql -u root

  mysql> use mysql;

  mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

  mysql> FLUSH PRIVILEGES;

在丢失root密码的时候,可以这样

  mysqld_safe --skip-grant-tables&

  mysql -u root mysql

  mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

  mysql> FLUSH PRIVILEGES;
[root@localhost ] # service mysql stop

图片 5 

8.将MySQL加入server系统服务
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld restart
service mysqld status

三、MySQL的备份与还原 中文乱码问题

MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。 
1.Win32下MySQL的备份与还原 
1.1 备份 
开始菜单 | 运行 | cmd |利用“cd /Program Files/MySQL/MySQL Server 5.0/bin”命令进入bin文件夹 | 利用“mysqldump  -u 用户名 -p databasename >exportfilename”导出数据库到文件,如mysqldump -u root -p voice>voice.sql,然后输入密码即可开始导出。 

1.2 还原 
进入MySQL Command Line Client,输入密码,进入到“mysql>”,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voice.sql;",回车,开始导入,再次出现"mysql>"并且没有提示错误即还原成功。 

2.Linux下MySQL的备份与还原 
2.1 备份 
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) 
[root@localhost mysql]# mysqldump -u root -p voice>voice.sql,输入密码即可。
注意:服务器运行时  加上   --skip-opt选项 否则备份不全记录

2.2 还原
法一:
[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>",同1.2还原。

法二:
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) 
[root@localhost mysql]# mysql -u root -p voice<voice.sql,输入密码即可。

还原时的中文乱码问题:

解决方法: 
第一步:还原时建立数据库和表都为utf8格式(建议utf8,当然gbk或者gb2312也行) 

复制代码 代码如下:

CREATE DATABASE `shegongku` DEFAULT CHARACTER SET utf8 
CREATE TABLE `members` ( 
`uid` mediumint(8) unsigned NOT NULL default '0', 
`username` varchar(15) NOT NULL default '', 
`password` varchar(40) NOT NULL default '', 
`salt` varchar(16) default NULL, 
`email` varchar(60) NOT NULL default '' 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 


第二步,将sql文件的编码转换下,转成utf8格式,可以notepad2,也可以用UltraEditor进行转换,再在第一行sql文件的添加一行 set names utf8 保存。 

第三步,导入。一般就不会出现乱码了,这时如果你在 终端cmd下再次查询发现还是乱码的话,这个不是数据库问题,而是显示的问题,在终端里输入 set names gbk,这样中文就显示正常了
  • 5、卸载已经安装的MySQL

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

9.mysql安全登录配置

1.设置所有用户密码
set passowrd for 'root'@'%' = password('你的密码')
2.将空用户删除
3.将默认的root用户改为其他名字

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

其他内容:

[root@localhost ] # yum -y remove MySQL-*

图片 6

1.启动和停止mysql服务(win7)

方式:
文件方式:找到服务里的mysql服务进行重新启动
命令行方式:cmd-->net start mysql-->net stop mysql-->net start mysql

  • 6、查找遗留的MySQL文件

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

2.MySQL登录与退出(win7)

登录:
mysql 参数
-D 打开指定数据库
mysql -V 输出mysql版本信息
mysql -uroot -p #回车 p密码
mysql -uroot -P -h127.0.0.1 #P端口号,默认是3306;h服务器名称

退出:
exit;
quit;
q;

图片 7 

3.mysql配置文件my.cnf详解[部分]

原文链接

[root@localhost ] # find / -name mysql
/var/lib/mysql
/usr/lib64/mysql

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

4.数据库权限

//创建用户
mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
//刷新系统权限表
mysql>flush privileges;

  • 7、/var/lib/mysql为本次MySQL的data目录,建议安装先备份

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

5.查看mysql在使用哪个my.cnf作为配置文件

mysql --help | grep my.cnf

图片 8 

6.安装命令

./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data (--pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/tmp)

[root@localhost ] # mv /var/lib/mysql /var/lib/mysql20180801

8、登录

7.别名配置

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

  • 8、删除卸载前一个版本MySQL的遗留文件

图片 9

 9、查看数据库

[root@localhost ] # rm -rf /usr/lib64/mysql

图片 10 

  • 9、备份/etc/my.cnf文件

10、设置远程登录

 查看user表,如下:

[root@localhost ] # mv /etc/my.cnf /etc/my.cnf.bak20180801

图片 11

  • 10、将MySQL 8.0的压缩包上传到服务器
  • 11、创建解压目录并进行解压

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

 如下图:

[root@localhost ] # mkdir -p /home/MySQL8.0
[root@localhost ] # tar -xf mysql-8.0.11-1.el6.x86_x64.rpm-bundle.tar -C /home/MySQL8.0

图片 12 

  • 12、安装MySQL 8.0

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

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

[root@localhost ] # rpm -ivh mysql-community-{server,client,common,libs}-8.0.11-1.el6.x86_64.rpm
C:Program Filesmysqlbin>net stop mysql
MySQL 服务正在停止..
MySQL 服务已成功停止。
C:Program Filesmysqlbin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
  • 13、配置MySQL配置文件

11、忘记密码处理

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

[root@localhost ] # vim /etc/my.cnf

图片 13 

这一步非常重要,在MySQL 8.0中有部分配置参数只能在初始化数据库前进行配置和更改,不支持初始化之后再更改,如忽略大小写配置就是如此,lower_case_table_names

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

  • 14、初始化MySQL

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

然后执行如下命令

[root@localhost ] # mysqld --initialize
update MySQL.user set authentication_string=password('123') where user='root' ;
flush privileges;
  • 15、修改MySQL的datadir权限

图片 14

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

[root@localhost ] # chown -R mysql:mysql /var/lib/mysql

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

  • 16、启动mysql服务

图片 15 

12、备份与还原

[root@localhost ] # service mysqld start

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

  • 17、查看初始化之后的root用户密码

图片 16

 还原,语法如下:

[root@localhost ] # grep 'temporary password' /var/log/mysqld.log
mysql -u root -p [dbname] < backup.sql
  • 18、修改root密码,并设置相应的权限图片 17

  • 19、登录MySQL

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

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

[root@localhost ] #  mysql -h localhost -u root -p

图片 18

  • 20、允许进程远程登录图片 19

  • 21、还原数据数据库

 备份,语法如下:

备份一个数据库多个表

[root@localhost ] # mysql -h localhost -u root -p < /home/SQLBackup/Surpassme_20180801.sql
mysqldump -u root -p dbname table1 table2 ... > bakname.sql

本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注:
图片 20

备份多个数据库 加上了--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

图片 21 

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

图片 22

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

总结

以上所述是小编给大家介绍的windows环境下mysql的解压安装及备份和还原,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

  • windows server2016安装MySQL5.7.19解压缩版教程详解
  • Windows安装MySQL 5.7.18 解压版的教程
  • 在 Windows 10 上安装 解压缩版 MySql(推荐)
  • Mysql5.7.11在windows10上的安装与配置(解压版)
  • windows下安装、卸载mysql服务的方法(mysql 5.6 zip解压版安装教程)
  • Windows系统下MySQL添加到系统服务方法(mysql解压版)
  • Windows7中配置安装MySQL 5.6解压缩版

本文由星彩网app下载发布于星彩彩票app下载,转载请注明出处:windows环境下mysql的解压安装及备份和还原,0详细

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。