详解CentOS 6.5中安装mysql 5.7.16 linux glibc2.5 x86 64(推荐)
1.从官网下载mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz
经测试,本文还适用于如下版本:
MySQL-5.7.10-Linux-glibc2.5-x86_64.tar.gz
mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz
mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz
官网:http://dev.mysql.com/downloads/mysql/
2.检查你所用的Linux下有没有安装过mysql,没有卸载干净
#rpm-qa|grep-imysql mysql-5.7.13-linux-glibc2.5-x86_64
*可见已经安装了库文件,应该先卸载,不然会出现覆盖错误。注意卸:载时使用了--nodeps选项,忽略了依赖关系:
#rpm-emysql-5.7.13-linux-glibc2.5-x86_64--nodeps
当然你的也可能不止这一个文件,也可能有多个,那么你就依次rpm-exx--nodeps卸载,卸载完了再检查一下,若确定删除干净后,在经行下面步骤。
3.创建mysql的用户组/用户,data目录及其用户目录
在这步之前一定要先确保你所建的用户以及用户组没有存在,要不然在后面的过程中会报错,删除时候要先删除用户在删除用户组名。
#userdelmysql#删除用户 #groupdelmysql#删除用户组名 #mkdir/home/mysql#在home文件夹下创建文件夹mysql #mkdir/home/mysql/data#在mysql文件夹下创建文件夹data #groupaddmysql#创建一个名为mysql的用户组 #useradd-gmysql-d/home/mysqlmysql#在用户组下创建用户
4、解压安装包并将解压包里的内容拷贝到mysql的安装目录/home/mysql
#tar-xzvfmysql-5.7.13-linux-glibc2.5-x86_64.tar.gz#解压文件 #cdmysql-5.7.13-linux-glibc2.5-x86_64#进入 #mv*/home/mysql#移动到之前我创建的mysql文件夹下。
5、初始化mysql数据库
#cd/home/mysql#进入安装目录 #./bin/mysql_install_db--user=mysql--basedir=/home/mysql--datadir=/home/mysql/data [WARNING]mysql_install_dbisdeprecated.Pleaseconsiderswitchingtomysqld--initialize2015-11-1002:09:23 [WARNING]Thebootstraplogisn'tempty:2015-11-1002:09:23 [WARNING]2015-11-10T10:09:18.114182Z0 [Warning]--bootstrapisdeprecated.Pleaseconsiderusing--initializeinstead2015-11-10T10:09:18.129343Z0 [Warning]Changedlimits:max_open_files:1024(requested5000)2015-11-10T10:09:18.129408Z0 [Warning]Changedlimits:table_open_cache:431(requested2000)
mysql5.7新特性:由上面可以看出,mysql_install_db已经不再推荐使用了,建议改成mysqld--initialize完成实例初始化。
#./bin/mysqld--user=mysql--basedir=/home/mysql--datadir=/home/mysql/data--initialize #./mysqld--user=mysql--basedir=/home/mysql--datadir=/home/mysql/data--initialize [Warning]TIMESTAMPwithimplicitDEFAULTvalueisdeprecated.Pleaseuse--explicit_defaults_for_timestampserveroption(seedocumentationformoredetails). [ERROR]--initializespecifiedbutthedatadirectoryhasfilesinit.Aborting.2016-04-08T01:46:53.155879Z0 [ERROR]Aborting
出现上面的错误是因为我们没有清空mysql的data目录,执行清空命令如下:
#cd/home/mysql/data#进入安装目录下的data目录 #rm-fr*#清空数据 #cd/home/mysql #./bin/mysqld--user=mysql--basedir=/home/mysql--datadir=/home/mysql/data--initialize [Warning]TIMESTAMPwithimplicitDEFAULTvalueisdeprecated.Pleaseuse--explicit_defaults_for_timestampserveroption(seedocumentationformoredetails).2016-04-08T01:47:59.945537Z0 [Warning]InnoDB:Newlogfilescreated,LSN=457902016-04-08T01:48:00.333528Z0[Warning]InnoDB:Creatingforeignkeyconstraintsystemtables.2016-04-08T01:48:00.434908Z0 [Warning]NoexistingUUIDhasbeenfound,soweassumethatthisisthefirsttimethatthisserverhasbeenstarted.GeneratinganewUUID:ece26421-fd2b-11e5-a1e3-00163e001e5c.2016-04-08T01:48:00.440125Z0 [Warning]Gtidtableisnotreadytobeused.Table'mysql.gtid_executed'cannotbeopened.2016-04-08T01:48:00.440904Z1 [Note]Atemporarypasswordisgeneratedforroot@localhost:**mjT,#x_5sW
牢记上面的随机密码,如上**mjT,#x_5sW,下面我们修改密码时需要用到。
6、检测下是否能启动mysql服务
#cd/home/mysql #./support-files/mysql.serverstart StartingMySQL..OK!
这是正常的情况下。
刚刚我用的是/home/mysql为mysql的安装目录basedir,则在启动服务时会出现如下错误:
#./support-files/mysql.serverstart ./support-files/mysql.server:line276:cd:/usr/local/mysql:Nosuchfileordirectory StartingMySQLERROR!Couldn'tfindMySQLserver(/usr/local/mysql/bin/mysqld_safe)
由上面可知mysql的tar.gz安装包的默认安装目录为/usr/local/mysql,这时候我们需要修改/support-files/mysql.server文件的basedir和datadir目录路径为我们环境所在的mysql的basedir和datadir路径,如下:
#vimsupport-files/mysql.server -------------------------- ... basedir=/home/mysql datadir=/home/mysql/data ... -------------------------- #./support-files/mysql.server startStartingMySQL..OK!
注意:上面basedir以及datadir部分是手动改的,那么在命令中如何手动改,步骤
1、按键盘i键(insert),然后就可以在你想要的位置编写了。
2、编辑完毕退出,esc键。
3、Shift键加:(冒号键)退出编辑。
4、wq!保存编辑
7、创建软链接
#ln-s/home/mysql/bin/mysql/usr/bin/mysql
8、创建配置文件
下面的前3步操作过程中,可能会出错,如果有错就跳过,因为不同电脑的环境不一样,
1、将默认生成的my.cnf备份
#mv/etc/my.cnf/etc/my.cnf.bak
如果这一步报错,没有关系,正常情况下是由于/ect文件夹下没有my.cnf锁引起的,创建一下就可以了,或者你不会创建,直接使用vim/ect/my.cnf命令编辑,
然后直接退出编辑就可以,在执行这个命令就不会出错了,退出编辑命令esc键->(shift键+:(冒号键)->wq!),然后在执行上面的命令就不会报错了。
2、进入mysql的安装目录支持文件目录
#cd/home/mysql/support-files
3、拷贝配置文件模板为新的mysql配置文件,
#cpmy-default.cnf/etc/my.cnf
4、设置编码,可按需修改新的配置文件选项,不修改配置选项,mysql则按默认配置参数运行.
如下是我修改配置文件/etc/my.cnf,设置编码为utf8以防乱码
#vim/etc/my.cnf [mysqld] basedir=/home/mysql datadir=/home/mysql/data character_set_server=utf8 init_connect='SETNAMESutf8' [client] default-character-set=utf8
有的时候使用这个命令后,前3步有问题的这里可能my.cnf文件是空的,这个不要紧,既然没有生成,那么你就自己编辑喽!具体编辑怎么实现就参照步骤6.
9、配置mysql服务开机自动启动
#cp/home/mysql/support-files/mysql.server/etc/init.d/mysqld#拷贝启动文件到/etc/init.d/下并重命令为mysqld #chmod755/etc/init.d/mysqld#增加执行权限 #chkconfig--listmysqld#检查自启动项列表中没有mysqld这个, #chkconfig--addmysqld#如果没有就添加mysqld: #chkconfigmysqldon#用这个命令设置开机启动:
如果在执行第一步就报错,则说明刚刚在第8步中配置出问题了,那你就重新设置一下
做完这步后再重新执行下上面的操作
如果后面的操作中出现以下的问题
这样就是电脑环境的问题了,你就直接把
10、mysql服务的启动/重启/停止
#servicemysqldstart#启动服务 #servicemysqldrestart#重启服务 #servicemysqldstop#停止服务
11、初始化mysql用户root的密码
#cd/home/mysql #./bin/mysqladmin-uroot-p'**mjT,#x_5sW'password'123456'mysqladmin:#刚刚之前的初始密码 [Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure. Warning:Sincepasswordwillbesenttoserverinplaintext,usesslconnectiontoensurepasswordsafety. mysql>usemysql Databasechanged mysql>updateusersetauthentication_string=PASSWORD('123456')whereuser='root'; QueryOK,0rowsaffected,1warning(0.00sec) Rowsmatched:2Changed:0Warnings:1 mysql>\s -------------- mysqlVer14.14Distrib5.7.13,forlinux-glibc2.5(x86_64)usingEditLinewrapper Connectionid:3 Currentdatabase:mysql Currentuser:root@localhost SSL:Notinuse Currentpager:stdout Usingoutfile:'' Usingdelimiter:; Serverversion:5.7.13MySQLCommunityServer(GPL) Protocolversion:10 Connection:LocalhostviaUNIXsocket Servercharacterset:utf8 Dbcharacterset:utf8 Clientcharacterset:utf8 Conn.characterset:utf8 UNIXsocket:/tmp/mysql.sock Uptime:1hour29min17sec Threads:1Questions:50Slowqueries:0Opens:136Flushtables:1Opentables:129Queriespersecondavg:0.009 --------------
如果这一步完成不了的话,也就是修改不了密码的话,你也可以直接下面的方式先登录
但是如果不修改密码,不进每次登陆麻烦而且在执行一些操作会报一下错误
YoumustresetyourpasswordusingALTERUSERstatementbeforeexecutingthisstatement#意思就是你必须重置你的密码在执行这个execute操作前
这里教大家用另外一种方式修改密码,这个是在已经登陆进去的情况下依次执行。
mysql>SETPASSWORD=PASSWORD('123456');#PASSWORD()里面的123456是我设置的新密码,你也可以设置成你的密码 QueryOK,0rowsaffected,1warning(0.00sec) Rowsmatched:2Changed:0Warnings:1 mysql>ALTERUSER'root'@'localhost'PASSWORDEXPIRENEVER; QueryOK,0rowsaffected,1warning(0.00sec) Rowsmatched:2Changed:0Warnings:1 mysql>flushprivileges; QueryOK,0rowsaffected,1warning(0.00sec) Rowsmatched:2Changed:0Warnings:1
12.mysql远程授权
[root@testfornss~]#mysql-uroot-p Enterpassword: WelcometotheMySQLmonitor.Commandsendwith;or\g. YourMySQLconnectionidis4 Serverversion:5.7.13MySQLCommunityServer(GPL) Copyright(c)2000,2016,Oracleand/oritsaffiliates.Allrightsreserved. OracleisaregisteredtrademarkofOracleCorporationand/orits affiliates.Othernamesmaybetrademarksoftheirrespective owners. Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement. mysql>grantallprivilegeson*.*to'root'@'%'identifiedby'123456'; QueryOK,0rowsaffected,1warning(0.00sec) mysql>
或者:
grantallon*.*to'root'@'%'identifiedby'123456';
如果不设置远程连接,用mysql数据库连接工具可是连接不上的哦!!!
13.用数据库连接工具来测试你刚刚的安装是不是成功了
首先要知道,远程连接的Linux系统的ip,确保本机已经能够ping通的情况下再连接。
以上所述是小编给大家介绍的CentOS6.5中安装mysql5.7.16linuxglibc2.5x8664,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!