mysql 5.1 升级编译安装5.6把原MyISAM表转换成InnoDB,并全局备份一次
mysql 的默认配置文件 my-large.cnf
http://990487026.blog.51cto.com/10133282/1697647
【如果有innodb的.sql数据库文件,直接看第3步,上面的第1、步 就不用看了,谢谢】
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都使用独立的数据存放文件,数据文件,二进制日志文件分开存放,恢复数据】
[root@lcl ~]# service iptables stop [root@lcl ~]# setenforce 0 [root@pc0003 mybackups]# vim /etc/my.cnf 在[mysqld]段 添加下面的两行 innodb_file_per_table = ON log-bin=/mydata/binlogs/master-bin 保存退出 [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服务器,滚动一次日志】 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
再来mysqldump全局备份一次修改好了的数据库,不要用逗号 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 [root@lcl ~]# service mysqld restart [root@lcl ~]# service httpd restart
举例:创建一个用户,把ocsweb这个库所有权限给它
mysql -u root -p mysql> GRANT ALL PRIVILEGES ON `ocsweb` .* TO 'user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES
修改密码的推荐方式:
mysql> UPDATE user SET password = PASSWORD('your_password') WHERE user = 'root'; mysql> FLUSH PRIVILEGES
贴上移除mysql*.rpm要注意的依赖关系:
先安装最不需要依赖的包,再安装程序文件。
[root@localhost home]# yum remove mysql mysql-libs mysql-server Dependencies Resolved ============================================= Package Arch ============================================= Removing: mysql i686 mysql-libs i686 mysql-server i686 Removing for dependencies: cronie i686 cronie-anacron i686 crontabs noarc perl-DBD-MySQL i686 php-mysql i686 postfix
贴上原web服务,php依赖的包,
先安装最不需要依赖的包,再安装程序文件
[root@hghast001 home]# rpm -qa| grep php php-imap-5.3.3-46.el6_6.x86_64 ? php-cli-5.3.3-46.el6_6.x86_64 php-mbstring-5.3.3-46.el6_6.x86_64 ? php-odbc-5.3.3-46.el6_6.x86_64 php-xml-5.3.3-46.el6_6.x86_64 php-pear-1.9.4-4.el6.noarch php-ldap-5.3.3-46.el6_6.x86_64 php-common-5.3.3-46.el6_6.x86_64 php-xmlrpc-5.3.3-46.el6_6.x86_64 php-pdo-5.3.3-46.el6_6.x86_64 php-gd-5.3.3-46.el6_6.x86_64 mod_perl php-devel php-imap php-mbstring php-mysql php-devel php-imap php-mbstring
结束!