mysql 5.0 怎么升级5.7

2025-11-18 22:48:03

1、数据备份,若升级失败,可以快速恢复

数据备份分为两种方案,一种是备份数据库的整个文件夹 ;另一种是mysqldump导出文件(建议使用这种)。

2、备份过程说明

第一种备份方案说明,在数据库的配置文件中,假设datadir=/home/database/mysql,可使用cp命令复制整个/home/database/mysql文件夹,即可完成备份

第二种备份方案说明,mysqldump命令参考:

mysqldump -B 数据库名称1 数据库名称2 -u账号 -p密码 -P端口 > dbname.sql

参数-B,让导出的语句中包含建库语句

附:sql导出后,请查看导出的文件是否完成,如导出的文件中是否有数据库数据、文件是否正常导出完毕

2、安装数据库,这里是centos7下使用yum安装,快速显示过程

1)安装数据库软件


yum install http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm -y
yum install mysql-server -y


2)设置数据库的配置
vi /etc/my.cnf    参考的配置文件在下面中


3)建立数据库的存储目录
basepath='/home'
mkdir -p ${basepath}/database/mysql
chown -R mysql:mysql ${basepath}/database
chcon -R --reference=/var/lib/mysql ${basepath}/database


4)设置selinux的端口,若不使用selinux,请跳过这一步,或关闭selinux;
yum install mysql-server policycoreutils-python -y
semanage port -a -t mysqld_port_t -p tcp 数据库端口


5)启动
systemctl start mysqld

启动后,在mysql的log日志/var/log/mysql.log中会自动生成随机密码;


6)配置初始化密码,密码要复杂否则会提示失败,这里是随机键盘输入,请自行重新配置

mysql -uroot -p


>SET PASSWORD = PASSWORD('wejkxRFojklw23&22cc');


7)建立数据库,配置账号、密码
>use mysql
>grant select,update,insert,index,delete on *.* to '用户名'@'%' identified by '密码';
>grant select,insert,update,index,delete,create,drop,alter on 数据库名称.表名 to '用户名'@'%'  identified by '密码';
>create database dbname charset utf8 COLLATE utf8_bin

3、配置文件my.cnf参考

[mysqld_safe]


log-error=/var/log/mysql.log
pid-file=/var/run/mysqld/mysqld.pid


[mysqld]
datadir=/home/database/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql


#0、port
port=5398                      #不使用默认端口


#1、usally used
lower_case_table_names=1         #忽略大小写
character-set-server=utf8        #设置默认数据库编码
innodb_file_per_table=1          #mysql5.7用innodb引擎,若没有特殊要求,建议使用这个引擎;这里是每个表一个数据文件


#2、High Available、high-performance
#innodb_read_io_threads=8             #若数据库的服务器cpu数量多,可以设置这个读取的cpu个数
#innodb_write_io_threads=8            #若数据库的服务器cpu数量多,可以设置这个写入的cpu个数
innodb_flush_log_at_trx_commit = 2    #加快写入速度
#innodb_buffer_pool_size = 20G        ###innodb_缓存_池_大小,默认本机 的70%-80%,需要根据需要设置
#innodb_log_file_size=128M ###        #加快数据写入速度


#3、mysql config limit
open_files_limit=65000                ###最大值为int整数,同时受服务器限制;用于控制打开的文件数


#4、mysql slave config
server-id=5231147               ###配置方法:随机字符+端口(若端口过大,只能改端口),最大值4,294,967,295 (参考:https://blog.csdn.net/z69183787/article/details/81169624)
log-bin-index = binlog.index    ###binlog的索引文件
log-bin=binlog                  ###binlog日志文件
#relay-log=mysqld-relay-bin     ###从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件,然后SQL线程会读取relay-log日志的内容并应用到从服务器。
expire_logs_days = 7            ###binlog清理时间
max_binlog_size = 512M          ###binlog文件大小
#binlog-do-db=testdb          ###不要在这里配置这个参数,容易出问题;请在从数据库进行配置


#5、slave config,only config  in slave,not in master
#replicate-do-db=testdb    ###若要备份哪个库,直接在这里写,一定不要在主库设置,(信息来源:mysql官网),配置好同步后,然后在主库建库,从库同时出现建库的信息


#6、报错要求修改过的参数


max_allowed_packet=200M    ###有一次研发要求增加这个参数,上传文件限制;这个参数可以动态修改。

4、恢复数据

1)默认恢复mysqldump导出的数据;

恢复数据的命令是:mysql -u用户名 -p密码 -P端口 < dbname.sql

2)若使用备份整个文件夹的方式,可以在配置my.cnf的时候,将备份的 文件夹作为目录,mysql启动后,就可以看到数据。


声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢