mysql 5.1 升级编译安装5.6把原MyISAM表转换成InnoDB,并全局备份一次
1、
【备份指定数据库】不要用逗号mydb hellodb
[[email protected] ~]# mysqldump -uroot -p --databases mydb hellodb > /tmp/all.sql
【修改ENGINE=MyISAM 为 ENGINE=InnoDB】
[[email protected] home]# cp hellodb.sql hellodb.sql.bak [[email protected] home]# vim hellodb.sql :%s/ENGINE=MyISAM/ENGINE=InnoDB/g
2、
删除原先存在的数据库,编译安装新的数据库
http://990487026.blog.51cto.com/10133282/1692874
3、
【如果有innodb的.sql数据库文件,直接看下面的,上面的就不用看了】
【每个innodb都使用独立的数据存放文件,数据文件,二进制日志文件分开存放】
[[email protected] ~]# service iptables stop [[email protected] ~]# setenforce 0 [[email protected] 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 保存退出 [[email protected] ~]# mkdir -pv /mydata/binlogs [[email protected] ~]# chown -R mysql:mysql /mydata/binlogs/ [[email protected] ~]# service mysqld restart [[email protected] ~]# 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独立的存储文件 [[email protected] ~]# ls -1 /mydata/data/ocsweb/ accesslog.frm accesslog.ibd
再来备份一次修改好了的数据库,不要用逗号 mydb hellodb
[[email protected] ~]# mysqldump -uroot -p --databases mydb hellodb > /tmp/all.sql
创建一个链接,为原先的php程序提供sock接口
[[email protected] ~]# 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
结束!
时间: 2024-12-20 23:47:12