mysql5.6.11.tar.gz安装
因为服务器上已经安装了一个mysql,但是和我所需要的版本不同,所以需要另外安装一个mysql,这样的话就不能用rpm包来安装了,只能通过tar.gz文件来安装,但是由于版本太新,必须通过cmake来编译,所以要安装cmake,在解决了gcc编译问题后安装cmake
1、下载cmake的安装包,官网提供两种安装包:source和binary。我选择了Linux环境下的source文件,即cmake-2.8.4.tar.gz文件。下载地址:/cmake/resources/software.html2、解压这个压缩包3、依次执行如下命令:[root@localhostcmake-2.8.4]#./bootstrap[root@localhostcmake-2.8.4]#make[root@localhostcmake-2.8.4]#makeinstall
2、安装mysql(mysql-5.6.11.tar.gz)
创建mysql组和用户
#groupaddmysql
#useradd-gmysqlmysql
创建存放目录
#mkdir/usr/local/mysql
#mkdir/data/mysql
解压mysql的tar包
#tarzxvfmysql-5.6.11.tar.gz
#cdmysql-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.0208.el6.x86_64.rpm再执行解决
#make;makeinstall
这里需要给mysql需要执行的命令增加一个环境变量
#vi/etc/profile
加入一下两句
PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib/
exportPATH
保存推出,让其立即生效
#source/etc/profile
赋予mysql权限
#chown-Rmysql:mysql/usr/local/mysql
#chown-Rmysql:mysql/data/mysql
执行初始化配置脚本,创建系统自带的数据库和表。#mysql_install_db–user=mysql–datadir=/data/mysql
初始化脚本在/usr/local/mysql/f生成了配置文件。
复制服务启动脚本#cp/usr/local/mysql/support-files/mysql.server/etc/init.d/mysqld2
接着就可以启动mysql
#servermysqld2restart
报错:[root@ServerAmysql-5.6.11]#servicemysqld2start
StartingMySQL………………………………………………………………………………………..TheserverquitwithoutupdatingPIDfile(/var/lib/mysql/ServerA.pid).[失败]
解决:还有由于上一个mysql冲突造成的,直接卸载完全ok
设置开机启动
#chkconfigmysqldon
给mysql设置密码
#mysql直接就进入mysql(初始的mysql没有密码哦)
>usemysql;
>updateusersetpassword=password(111111)whereuser=’root’;给root设置密111111
>flushprivileges;刷新表使其生效
>\q退出,重新进入mysql就需要密码
#mysql-uroot-p111111就可以进去了
>
到此安装mysql5.6.11就结束了。
mysql只能localhost连接,解决不允许其他机器去访问
ERROR1130:Host***.***.***.***isnotallowedtoconnecttothisMySQLserver
登陆mysql
首先usemysql;
按照别人提供的方式update的时候,出现错误。
mysql>updateusersethost=’%’whereuser=‘root’;
ERROR1062(23000):Duplicateentry‘%-root’forkey‘PRIMARY’
然后查看了下数据库的host信息如下:
mysql>selecthostfromuserwhereuser=’root’;
+———–+
|host|
+———–+
|%|
|127.0.0.1|
|ServerA|
+———–+
3rowsinset(0.00sec)
host已经有了%这个值,所以直接运行命令:
mysql>flushprivileges;
QueryOK,0rowsaffected(0.00sec)
本文转自gaofeng36599 51CTO博客,原文链接:/786678398/1206953