当前位置: 首页 >数据库 > MySQL源码升级

MySQL源码升级

mysql源码升级

升级的方法一般有两类:

1.利用mysqldump来直接导出sql文件,导入到新库中,这种方法是最省事儿的,也是最保险的,缺点的话,也显而易见,大库的mysqldump费时费力。

2.直接替换掉mysql的安装目录和my.cnf,利用mysql_upgrade 来完成系统表的升级,这种方法需要备份原有的文件,但属于物理拷贝,速度较快。缺点的话,跨版本升级不推荐这么做,比如mysql5.1升级到mysql5.6,mysql5.5升级到mysql5.7等。

本文采用的是第二种方法升级。

MySQL当前版本

[root@localhost ~]# /usr/local/mysql/bin/mysql -V/usr/local/tdoa/mysql/bin/mysql  Ver 14.14 Distrib 5.5.36, for Linux (x86_64) using readline 5.1

备份my.cnf、MySQL安装目录、MySQL数据目录

[root@localhost ~]# cp -p /etc/init.d/mysql /etc/init.d/mysql.old[root@localhost ~]# cp -p /etc/my.cnf /etc/my.cnf.old[root@localhost ~]# cp -rp /usr/local/mysql /usr/local/mysql.old[root@localhost ~]# rm -rf /usr/local/mysql

安装最新版本的MySQL

[root@localhost ~]# tar xvf mysql-5.6.37.tar.gz[root@localhost ~]# cd mysql-5.6.37[root@localhost ~]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/tdoa/mysql \-DMYSQL_DATADIR=/usr/local/tdoa/data5 \-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_COLLATION=utf8_general_ci \-DDEFAULT_CHARSET=utf8  \-DMYSQL_TCP_PORT=3336 \-DWITH_READLINE=1 \-DENABLED_LOCAL_INFILE=1  \-DMYSQL_USER=mysql \-DWITH_DEBUG=0[root@localhost ~]# make[root@localhost ~]# make install[root@localhost ~]# cp /usr/local/mysql/support-files/my-default.cnf  /etc/my.cnf[root@localhost ~]# cat /etc/my.cnf.old > /etc/my.cnf[root@localhost ~]# cp -p /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysql[root@localhost ~]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/data5[root@localhost ~]# chown mysql.mysql -R /usr/local/tdoa/mysql[root@localhost ~]# chown mysql.mysql -R /usr/local/tdoa/data5[root@localhost ~]# /etc/init.d/mysql start[root@localhost ~]# ps -ef |grep mysql[root@localhost ~]# /etc/init.d/mysql stop[root@localhost ~]# /usr/local/data5 /usr/local/data5.newold[root@localhost ~]# mv /usr/local/data5.old /usr/local/data5[root@localhost ~]# /etc/init.d/mysql start[root@localhost ~]# /usr/local/mysql/bin/mysql_upgrade -uroot -pxxxx

升级后的MySQL版本

[root@localhost ~]# /usr/local/tdoa/mysql/bin/mysql -V/usr/local/tdoa/mysql/bin/mysql  Ver 14.14 Distrib 5.6.37, for Linux (x86_64) using  EditLine wrapper

请保证一些路径的设置和以前的my.cnf一致,如果设置错误,很可能导致启动不了数据库
[ERROR] Could not use /usr/local/data5/slowlog/slow.log for logging
我这里是由于慢日志的位置和老的mysql5.6路径不一致,创建/data/slowlog即可,这里要仔细看报错,然后根据报错来发现和解决问题。

作者:Callum
来源链接:https://www.cnblogs.com/liangml/p/8510262.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/database/117665.html

标签:MySQL升级
分享给朋友:

“MySQL源码升级” 的相关文章

MySQL表的增删改查(进阶) 2022年05月16日 21:54:11
MYSQL的存储过程 2022年05月16日 21:54:19
数据库之事务及事务的 ACID 性质 2022年05月21日 11:37:16
利用Oracle分析函数row 2022年06月03日 23:42:05
Oracle SQL 2022年06月05日 03:43:59
mysql之基础查询 2022年06月06日 00:56:31