记录一次mysql的创建以及数据库的备份还原
一、Windows下mysql8的安装
1、去官网下载mysql安装包
archives查看更多版本,也可以直接下载最新版本
2、将下载下来的安装包复制到服务器并解压
(1)解压之后需要手动创建一个my.ini文件
- 补充内容
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\programs\MySql
# 设置mysql数据库的数据的存放目录
datadir=D:\programs\MySql\Data
# 允许最大连接数
max_connections=500
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
3、初始化数据库
- 使用cmd,进入bin目录,执行语句 mysqld --initialize --console 来初始化数据库
- 如过出现msvcp140.dll错误时,需要去下载安装vc++的文件
https://www.microsoft.com/en-us/download/details.aspx?id=53587
- 初始化数据库出现root@localhost时就说明初始化成功
4、安装mysql
执行 mysqld --install
- 当出现 Service successfully installed 表示安装成功
5、启动mysql
- 执行net start mysql
如果出现net不是内部命令的错误时
直接cmd进入C:\Windows\System32去执行,因为net.exe在这个目录下
6、连接mysql并修改密码
- 执行mysql -u root -p并输入初始化的密码
- ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘newpassword’;
- newpassword就是你想要设置的密码
7、碰到navicat连接数据库报1130错误时(这个是只能本地localhost连接,换成%,任意用户连接就行)
mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
二、mysql数据库的备份与还原
1、我试过用navicat的转储为SQL文件,但是在新的数据库里面运行SQL文件时会出现很多错误,也用过navicat的备份功能备份成psc文件,然后还原备份来尝试迁移数据库,但是只能导入表结构,不能导入表数据(因为表里面有函数用nvl函数,这个是oracle数据库的函数,mysql用不了导致数据无法导入)
2、使用命令来导出数据库(如果是更新数据库数据的话,删除数据库重新创建数据库导入时都需要执行一次更换%的操做,上面第7点)
- 首先cmd进入mysql的bin目录
执行 mysqldump dbname > c:mydb.sql -u root -p
或者 mysqldump -uroot -p12345678 taimp0606 >D:/mysql.sql
- dbname是需要导出的数据库
3、还原数据库
(1)首先登陆mysql
(2)执行 use dbname;
dbname就是你的数据库名,切换到你的数据库上
(3)然后使用source D:\mydb.sql命令来导入数据即可
(4)因为这个数据库数据比较特殊,没有特殊情况可以不用考虑,我这个数据库数据函数在还原的时候会出现顺序问题,导致不能正常执行,需要重新执行下函数的SQL