多语言展示
当前在线:1573今日阅读:59今日分享:29

mysql 5.0 怎么升级5.7

MySQL5.0升级思路及过程;本文针对linux版本下的mysql数据库,windows的也可参考;若MySQL的数据量过大,如大于100G,数据恢复时间可能很长,请考虑其他方法。
方法/步骤
1

1、数据备份,若升级失败,可以快速恢复数据备份分为两种方案,一种是备份数据库的整个文件夹 ;另一种是mysqldump导出文件(建议使用这种)。2、备份过程说明第一种备份方案说明,在数据库的配置文件中,假设datadir=/home/database/mysql,可使用cp命令复制整个/home/database/mysql文件夹,即可完成备份第二种备份方案说明,mysqldump命令参考:mysqldump -B 数据库名称1 数据库名称2 -u账号 -p密码 -P端口 > dbname.sql参数-B,让导出的语句中包含建库语句附:sql导出后,请查看导出的文件是否完成,如导出的文件中是否有数据库数据、文件是否正常导出完毕

2

3、安装数据库,这里是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

5、配置文件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

6、恢复数据1)默认恢复mysqldump导出的数据;恢复数据的命令是:mysql -u用户名 -p密码 -P端口 < dbname.sql 2)若使用备份整个文件夹的方式,可以在配置my.cnf的时候,将备份的 文件夹作为目录,mysql启动后,就可以看到数据。

注意事项

数据一定要备份,若不备份,请不要做升级操作

推荐信息