2013年10月,MySQL开发团队正式宣布支持Yum仓库,这就意味着我们现在可以从这个Yum库中获得最新和最优版的MySQL安装包。本文将在一台全新安装的CentOS6上安装MySQL5.6,如果你不熟悉MySQL5.6的新特性,我建议从MySQL 5.6的新特性开始,其中有很多非常有用的特性。

        首先我们需要从MySQL开发者网站下载Yum仓库文件,导入Yum库后,一个简单的yumupdate命令将确保你运行在MySQL5.6的最新发布版上,包括一些安全特性的更新。Yum同时也将确保导入相关依赖库,这些都将使我们的安装过程简单化。进入http://dev.mysql.com/downloads/repo/,下载RedHat Enterprise Linux 6 / Oracle Linux 6版。


点击链接No thanks, just start my download.直接下载。



下载完成后将Yum库导入到你的本地:

  1. sudo yum localinstall mysql-community-release-el6-*.noarch.rpm  

这个Yum库包含了MySQLServer,MySQL工作台管理工具以及ODBC驱动,现在可以通过下面的命令简单地安装MySQLServer:

  1. yum install mysql-server mysql-client libmysqlclient-dev

  /etc/init.d/mysqld start
  mysql_secure_installation    #MySQL安全配置向导
  Enter current password for root (enter for none):  <–初次运行直接回车
  Set root password? [Y/n]   <– 是否设置root用户密码,输入y并回车或直接回车
  Remove anonymous users? [Y/n]   <– 是否删除匿名用户,生产环境建议删除,所以直接回车
  Disallow root login remotely? [Y/n]  <–是否禁止root远程登录,根据自己的需求选择Y/n并回车,建议禁止
  Remove test database and access to it? [Y/n]   <– 是否删除test数据库,直接回车
  Reload privilege tables now? [Y/n]   <– 是否重新加载权限表,直接回车

至此我就可以使用Yum简单地管理MySQL更新,并能确保总是从官网软件库得到最新的发布版。

附录:

1、root password update failed

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement. 

解决办法:

  1. [**@localhost ~]# mysql  

  2. mysql> set global read_only=0;  

  3. Query OK, 0 rows affected (0.00 sec)  

  4. mysql> flush privileges;  

  5. Query OK, 0 rows affected (0.00 sec)  

  6. mysql> quit  

  7. [**@localhost ~]# /usr/bin/mysql_secure_installation  

如此便可以重新更新root密码了!

2、[ERROR] InnoDB: Cannot create log files because data files are corrupt or the database was not shut down cleanly after creating the data files.

解决办法:进入你的mysql数据存放目录,删除ibdata1文件即可,例如在我的环境下


  1. #cd /var/lib/mysql  

  2. #mv ibdata1 ibdata1.bak  

3、[ERROR] InnoDB: space header page consists of zero bytes in data file ./ibdata1
解决办法:修改配置文件my.cnf


根据个人环境空间大小和需求调节如下参数的值

  1. innodb_buffer_pool_size = 256M  

  2. innodb_log_file_size    = 256M  

  3. innodb_thread_concurrency   = 16  

  4. innodb_flush_log_at_trx_commit = 2  

添加一条:

  1. innodb_flush_method=normal  

4、ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
解决办法:Google上有很多,我遇到这个情况的时候只是使用/usr/bin/mysql_secure_installation 重新设置一次。

5、ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

解决办法:http://www.cnblogs.com/visi_zhangyang/archive/2012/03/05/2380531.html


本文产生于工作学习笔记,转载请注明出处http://blog.csdn.net/horace20