码迷,mamicode.com
首页 > 数据库 > 详细

mysql 5.1 升级编译安装5.6把原MyISAM表转换成InnoDB,并全局备份一次【原创】

时间:2015-09-23 17:17:47      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:mysql 5.1 升级编译安装5.6把原myisam表转换成innodb   并全局备份一次   



mysql 5.1 升级编译安装5.6把原MyISAM表转换成InnoDB,并全局备份一次



1、
【备份指定数据库】不要用逗号mydb hellodb

[root@pc0003 ~]# mysqldump -uroot -p  --databases mydb hellodb  > /tmp/all.sql



【修改ENGINE=MyISAM 为 ENGINE=InnoDB】

[root@pc0003 home]# cp hellodb.sql hellodb.sql.bak
[root@pc0003 home]# vim hellodb.sql
:%s/ENGINE=MyISAM/ENGINE=InnoDB/g



2、
删除原先存在的数据库,编译安装新的数据库
http://990487026.blog.51cto.com/10133282/1692874



3、

【如果有innodb的.sql数据库文件,直接看下面的,上面的就不用看了】
【每个innodb都使用独立的数据存放文件,数据文件,二进制日志文件分开存放】

[root@lcl ~]# service iptables stop 
[root@lcl ~]# setenforce 0
[root@pc0003 mybackups]# vim /etc/my.cnf
thread_concurrency = 4
datadir= /mydata/data   #数据存放文件在初始化mysql时已经指定好了,创建文件,赋予权限,OK 
innodb_file_per_table = ON
log-bin=/mydata/binlogs/master-bin     
server-id       = 1     
保存退出 
[root@lcl ~]# mkdir -pv /mydata/binlogs 
[root@lcl ~]# chown -R mysql:mysql /mydata/binlogs/ 
[root@lcl ~]# service mysqld restart 
[root@lcl ~]# ss -tnl | grep 3306 
LISTEN     0      80                       :::3306                    :::*  
查看InnoDB使用是否使用独立的存储文件
mysql> show variables like ‘%per_table%‘; 
+-----------------------+-------+ 
| Variable_name         | Value | 
+-----------------------+-------+ 
| innodb_file_per_table | ON    | 
+-----------------------+-------+
查看二进制日志是否已经打开
mysql> show variables like ‘log_bin‘;
滚动一次日志
mysql> SHOW MASTER STATUS;
mysql> FLUSH LOGS;
mysql> show master status;
临时关闭二进制,回复数据,然后在打开二进制的记录
mysql> set sql_log_bin=0;
mysql> source /home/hellodb.sql
mysql> set sql_log_bin=1;
mysql> show databases;
查看表的存储是否为InnoDB
mysql> show table status from hellodb \G
InnoDB独立的存储文件
[root@localhost ~]# ls -1 /mydata/data/ocsweb/
accesslog.frm
accesslog.ibd


再来备份一次修改好了的数据库,不要用逗号 mydb hellodb

[root@pc0003 ~]# mysqldump -uroot -p  --databases mydb hellodb  > /tmp/all.sql



创建一个链接,为原先的php程序提供sock接口

[root@nb0001 ~]# ln -sv /tmp/mysql.sock /var/lib/mysql/mysql.sock





创建一个用户,把ocsweb这个库所有权限给它

mysql -u root -p
GRANT ALL PRIVILEGES ON `ocsweb` .* TO ‘user‘@‘localhost‘ IDENTIFIED BY ‘password‘ WITH GRANT OPTION;


修改默认密码的推荐方式:

mysql> UPDATE user SET password = PASSWORD(‘your_password‘) WHERE user = ‘root‘;
mysql> FLUSH PRIVILEGES




结束!

mysql 5.1 升级编译安装5.6把原MyISAM表转换成InnoDB,并全局备份一次【原创】

标签:mysql 5.1 升级编译安装5.6把原myisam表转换成innodb   并全局备份一次   

原文地址:http://990487026.blog.51cto.com/10133282/1697443

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!