因为服务器上已经安装了一个mysql,但是和我所需要的版本不同,所以需要另外安装一个mysql,这样的话就不能用rpm包来安装了,只能通过tar.gz文件来安装,但是由于版本太新,必须通过cmake来编译,所以要安装cmake,在解决了gcc编译问题后安装cmake

1、下载cmake的安装包,官网提供两种安装包:sourcebinary。我选择了Linux环境下的source文件,即cmake-2.8.4.tar.gz文件。
下载地址:http://wwwNaNake.org/cmake/resources/software.html
2、解压这个压缩包
3、依次执行如下命令:
[root@localhost cmake-2.8.4]#./bootstrap
[root@localhost cmake-2.8.4]#make 
[root@localhost cmake-2.8.4]#make install

2、安装mysqlmysql-5.6.11.tar.gz

创建mysql组和用户

#groupadd mysql

#useradd -g mysql mysql

创建存放目录

#mkdir /usr/local/mysql

#mkdir /data/mysql


解压mysqltar

#tar zxvf mysql-5.6.11.tar.gz

#cd mysql-5.6.11

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3308

执行完后报错,缺少ncurses-devel,安装ncurses-devel-5.7-3.20090208.el6.x86_64.rpm再执行解决

#make;make install

这里需要给mysql需要执行的命令增加一个环境变量

#vi /etc/profile

加入一下两句

PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib/

export PATH

保存推出,让其立即生效

#source /etc/profile

 


赋予mysql权限

#chown -R mysql:mysql /usr/local/mysql

#chown -R mysql:mysql /data/mysql

 


执行初始化配置脚本,创建系统自带的数据库和表。
#mysql_install_db --user=mysql --datadir=/data/mysql

初始化脚本在 /usr/local/mysql/my.cnf 生成了配置文件。

 


复制服务启动脚本
#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld2

 


接着就可以启动mysql

#server mysqld2  restart

报错:[root@ServerA mysql-5.6.11]# service mysqld2 start

StartingMySQL.....................................................................................................Theserver quit without updating PID file (/var/lib/mysql/ServerA.pid).[失败]

解决:还有由于上一个mysql冲突造成的,直接卸载完全ok

设置开机启动

#chkconfig mysqld on

 


mysql设置密码

#mysql              直接就进入mysql(初始的mysql没有密码哦)

>use mysql;

>update user set password = password(111111) where user ='root'; root设置密111111
>flush privileges;        
刷新表使其生效

>\q                             退出,重新进入mysql就需要密码

#mysql -uroot -p 111111        就可以进去了


>     

到此安装mysql5.6.11就结束了。

mysql只能localhost连接,解决不允许其他机器去访问

ERROR 1130: Host ***.***.***.*** is not allowed toconnect to this MySQL server 

登陆mysql 
首先 use mysql;
按照别人提供的方式update的时候,出现错误。
mysql> update user set host='%' where user = 'root'; 
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 
然后查看了下数据库的host信息如下:
mysql> select host from user where user='root';

+-----------+

| host|

+-----------+

| %|

| 127.0.0.1 |

| ServerA|

+-----------+

3 rows in set (0.00 sec)

 

host已经有了%这个值,所以直接运行命令:
mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)