-
先去mysql官网上下载mysql8.0的安装包.(官网下载三四百兆的那个,小的那个是联网下载.下载的时候可以右击复制链接,去迅雷下载,会快很多)
-
备份原有数据库
相关命令(我直接备份实例上所有数据库)
1、备份命令 格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql 例如: mysqldump -h 192.168.1.100 -p 3306 -uroot -ppassword --database cmdb > /data/backup/cmdb.sql 2、备份压缩 导出的数据有可能比较大,不好备份到远程,这时候就需要进行压缩 格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 | gzip > 文件名.sql.gz 例如: mysqldump -h192.168.1.100 -p 3306 -uroot -ppassword --database cmdb | gzip > /data/backup/cmdb.sql.gz 3、备份同个库多个表 格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 表1 表2 .... > 文件名.sql 例如 mysqldump -h192.168.1.100 -p3306 -uroot -ppassword cmdb t1 t2 > /data/backup/cmdb_t1_t2.sql 4、同时备份多个库 格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --databases 数据库名1 数据库名2 数据库名3 > 文件名.sql 例如:mysqldump -h192.168.1.100 -uroot -ppassword --databases cmdb bbs blog > /data/backup/mutil_db.sql 5、备份实例上所有的数据库 格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --all-databases > 文件名.sql 例如:mysqldump -h192.168.1.100 -p3306 -uroot -ppassword --all-databases > /data/backup/all_db.sql 6、备份数据出带删除数据库或者表的sql备份 格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --add-drop-table --add-drop-database 数据库名 > 文件名.sql 例如:mysqldump -uroot -ppassword --add-drop-table --add-drop-database cmdb > /data/backup/all_db.sql 7、备份数据库结构,不备份数据 格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --no-data 数据库名1 数据库名2 数据库名3 > 文件名.sql 例如:mysqldump --no-data –databases db1 db2 cmdb > /data/backup/structure.sql
资料来源:https://baijiahao.baidu.com/s?id=1612955427840289665&wfr=spider&for=pc
注: 可能会报警告:-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.
解决:命令中加入 --events --ignore-table=mysql.events即可(mysqldump默认是不备份事件表的,问题不大,即使不加也能备份) -
卸载mysql程序
-
安装MySQL8.0
-
添加环境变量
-
在此之后出现了一系列mysql 的问题,现做如下笔记:
- Navicat无法连接数据库
- 看了某教程后修改了权限导致命令行也无法进入mysql了
- 报错:Access denied for user ‘root’@‘localhost’ (using password: YES)
- 涉及到mysql服务的启动,步骤如下:
- 以管理员身份 进入cmd命令行,进入mysql安装目录下的bin目录
- 执行
mysqld --install
- 执行
net start mysql
启动mysql服务
- 出现了MySQL服务无法启动
解决: 进入mysql 的bin目录,执行
mysqld --console
查看日志,发现报告 [Server] Can’t start server: Bind on TCP/IP port: 通常每个套接字地址( 协议/网络地址/端口)只允许使用一次。所以进入"服务"-发现有个名为MySQL80的服务,停止,启动上面的MySQL服务. - 还是无法解决权限问题,所以重装了mysql8.0,试试升级Navicat的版本
- 解决
-
测试连接本地mysql,成功
-
导入备份:cmd执行语句
mysql -uroot -p123456 <[路径名+文件名]
,其他相关语法如下导入所有数据库 mysql -uroot -p123456 <all.sql 导入数据库 Mysql -uroot -p123456 book <book.sql #如果导入时,没有对应的数据库,需要你手动创建一下: mysql> create database book; 使用source导入 mysql> create database book; mysql> use book; mysql> source /root/book.sql 导入表 mysql> drop table books; mysql> source /root/books.sql; ##导入表时,不需要重新,创建表。要先进到相应的数据库中 mysql> select * from books; 导入表结构和数据 mysql> create database book; mysql -uroot -p123456 book<booktable.sql mysql -uroot -p123456 book<bookdata.sql
资料来源:https://blog.csdn.net/weixin_38777734/article/details/97908189
-
进入mysql进行数据库查询
SHOW DATABASES;
出现问题,报错如下The user specified as a definer (‘mysql.infoschema’@‘localhost’) does not exist
发现是由于视图定义者还是原来的,所以这里不存在,继续百度,网上大部分的解决方案是
mysql_upgrade -u root -p
,尝试之后又提示错误如下The mysql_upgrade client is now deprecated. The actions executed by the upgrade client are now done by the server.
To upgrade, please start the new MySQL binary with the older data directory. Repairing user tables is done automatically. Restart is not required after upgrade.
The upgrade process automatically starts on running a new MySQL binary with an older data directory. To avoid accidental upgrades, please use the --upgrade=NONE option with the MySQL binary. The option --upgrade=FORCE is also provided to run the server upgrade sequence on demand.
It may be possible that the server upgrade fails due to a number of reasons. In that case, the upgrade sequence will run again during the next MySQL server start. If the server upgrade fails repeatedly, the server can be started with the --upgrade=MINIMAL option to start the server without executing the upgrade sequence, thus allowing users to manually rectify the problem.问题原因是MySQL 8.0.16开始 mysql_upgrade 升级程序已经废弃,继续百度解决方案。
网上所解释的新版更新方案试过,无果,最终重装了mysql,并且版本回到了8.0.15. -
重启了电脑还是出现上述问题,但是现在是8.0.15版本,可以使用
mysql_upgrade -u root -p
命令,操作步骤如下:mysql -uroot -p 输入密码 mysql>SET GLOBAL innodb_fast_shutdown = 1; mysql>\q mysql_upgrade -u root -p
经过漫长的等待,成功!!!
-
感动中国!!全部ok了!
mysql5.5到8.0,以及Navicat的相关升级操作
最新推荐文章于 2024-05-28 16:13:21 发布