数据库mysql5.6到mysql5.7切换方案

一、同一台服务器安装mysql5.7步骤
1、安装目录 : basedir=/home/mysql5.7/mysql-5.7.18
数据目录 : datadir= /home/mysql5.7/data
错误日志目录: log-error=/home/mysql5.7/logs/mysqld5.7.log
慢日志目录: slow_log=/home/mysql5.7/logs/slow5.7.log
PID 目录 : pid-file=/home/mysql5.7/mysqld5.7.pid
relay日志目录: relay_log=/home/mysql5.7/logs/relay5.7.log
用户: user=mysql
socket目录: socket=/home/mysql5.7/mysql5.7.sock
#cp mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz /home/mysql5.7/
# 解压文件
#cd /home/mysql5.7/
#解压
# tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
#重命名文件夹
#mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql-5.7.18
#授权访问
chown -R mysql:mysql /home/mysql5.7
2、安装mysql5.7

cd /home/mysql5.7/mysql-5.7.18
***** "="后面不要留空格,不然初始化会读取默认数据 报错
***** [ERROR] --initialize specified but the data directory has files in it. Aborting. 因本机安装了5.6,初始化需指定data目录
新建data,logs目录与mysqld.log文件
mkidr data logs
cd logs
touch mysqld.log
chown -R mysql:mysql /home/mysql5.7
#初始化安装mysql5.7
#bin/mysqld --initialize --user=mysql --basedir=/home/mysql5.7/mysql-5.7.18 --datadir=/home/mysql5.7/data

*mysql.server文件修
basedir=/home/mysql5.7/mysql-5.7.18
datadir=/home/mysql5.7/data
conf=/home/mysql5.7/mysql-5.7.18/my.cnf
mysqld_pid_file_path=/home/mysql5.7/mysqld.pid
#修改mysql.server 启动文件 加载mysql5.7 配置文件 ,并将文件移动到 /etc/init.d/ 目录
# mv mysql.server /etc/init.d/mysql5.7
**配置开机启动
chmod755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on
配置完成后再授权一次
chown -R mysql:mysql /home/mysql5.7
不能授权其他用户来启动mysql,mysql启动用户必须为mysql,不然无法启动
3、启动
service mysql5.7 start
service mysql5.7 restart
service mysql5.7 stop
4、登录数据库
cd /home/mysql5.7/mysql-5.7.18
bin/mysql -uroot -p --socket=/home/mysql5.7/mysql5.7.sock
5、 数据库root密码修改及权限修改
root密码忘记 配置文件增加 skip-grant-tables
mysql> update mysql.user set authentication_string=password('*******') where user='root' and Host = 'localhost';



grant all privileges on *.* to dba@'%'
flush privileges;
6、主从同步
CHANGE MASTER TO
MASTER_HOST='10.26.235.6',
MASTER_PORT=3066,
MASTER_USER='slave',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE=' mysql-bin.000002 ',
MASTER_LOG_POS= 154 ;
二、5.6数据备份与导入
1、数据库分库导出数据导出
mysqldump -uroot -p --socket=/home/mysql5.7/mysql5.7.sock fashion_user > fashion_user0922.sql
2、数据库主从同步,同步主库,从库数据通过主从同步来同步数据
3、同步数据库之前先将数据库锁定,以确保数据不会发生改变
4、数据库导入 source
5、 mycat配置中进行端口修改,重启mycat
6、 关闭mysql5.6
三、问题
navicat 数据同步错误
1、无主键数据无法同步
2、自动生成的数据无法同步
3、通过source命令导入数据库,函数与存储过程未导入成功,通过navicat同步数据结构


四、配置文件

[mysqld]

#mysql 端口
port=3066


#排序缓存
key_buffer_size = 32M
sort_buffer_size = 32M

#查询缓存
max_allowed_packet = 128M
query_cache_size = 256M
#开启查询缓存
query_cache_type= 1
back_log=300


tmp_table_size = 512M #临时表的大小(4G配置)
max_connections=3000 #最大连接数
thread_cache_size = 32 #线程缓存
interactive_timeout=28800 #关闭交互连接前等待时间
wait_timeout =28800 #关闭非交互连接前等待时间
table_open_cache = 256 #文件描述
read_buffer_size = 128M #读查询操作所能使用的缓冲区大小
join_buffer_size = 128M #join查询使用缓存
read_rnd_buffer_size = 512K #表的随机的顺序缓冲
net_buffer_length = 2K
thread_stack = 1M
event_scheduler=ON #开启事务
log_bin_trust_function_creators = 1 #binlog 创建函数
open_files_limit = 65535
#innnodb引擎参数
innodb_read_io_threads = 32 #读线程,默认4个
innodb_write_io_threads = 8 #写线程 默认4个
innodb_buffer_pool_size = 1024M #缓冲池
innodb_log_file_size = 128M #用来缓冲日志数据的缓冲区的大小
innodb_log_buffer_size = 3M #在日志组中每个日志文件的大小
innodb_flush_log_at_trx_commit = 2 #日志文件刷新磁盘
innodb_lock_wait_timeout = 300 # 在被回滚前,一个 InnoDB 的事务应该等待一个锁被批准多久.
#慢查询日志
slow_launch_time = 1 #查询大于1S记录
slow_query_log = NO # 开启慢日志查询
slow_query_log_file = /home/mysql5.7/logs/slow.log #慢查询日志

#数据,socket路径
datadir=/home/mysql5.7/data
basedir=/home/mysql5.7/mysql-5.7.18
socket=/home/mysql5.7/mysql5.7.sock


sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_safe]
#日志路径
log-error=/home/mysql5.7/logs/mysqld.log
pid-file=/home/mysql5.7/mysqld.pid









你可能感兴趣的:(数据库mysql5.6到mysql5.7切换方案)