微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

新手参考:Centos上安装MySQL社区版全过程

好久不动Linux了,加上以前用的本就少,所以这次安装,跟新手差不多,总结一下,供菜鸟们参考:

1.先从www.mysql.com网站上下载到最新版的MysqL社区版安装包,我下到的是MysqL-5.7.10-linux-glibc2.5-x86_64.tar.gz


2.MysqL安装包里是没有./configure & make这一套小编的,需要按照其说明文档进行操作,这里从安装包里看到的是INSTALL-BINARY,用UE打开后

其中有一段

shell> groupadd MysqL

shell> useradd -r -g MysqL -s /bin/false MysqL

shell> cd /usr/local

shell> tar zxvf /path/to/MysqL-VERSION-OS.tar.gz #注意把路径更换为自己下载的安装包位置和名称

shell> ln -s full-path-to-MysqL-VERSION-OS MysqL #同上,把解压出来的实际路径名称填上

shell> cd MysqL

shell> mkdir MysqL-files

shell> chmod 770 MysqL-files

shell> chown -R MysqL .

shell> chgrp -R MysqL .

shell> bin/MysqL_install_db --user=MysqL # Before MysqL 5.7.6

shell> bin/MysqLd --initialize --user=MysqL # MysqL 5.7.6 and up 在初始化的时候,一定要仔细看屏幕,最后大概有一行2015-12-24T09:05:03.283677Z 1 [Note] A temporary password is generated for root@localhost: kklNBwkei1.t #注意这是root的临时密码

shell> bin/MysqL_ssl_rsa_setup # MysqL 5.7.6 and up

shell> chown -R root .

shell> chown -R MysqL data MysqL-files #这句执行时报错,我是把data去掉就好了

shell> bin/MysqLd_safe --user=MysqL &

# Next command is optional

shell> cp support-files/MysqL.server /etc/init.d/MysqL.server #注意这里cp出来的名字是MysqL.server,而不是MysqLd,所以启动服务时要用service MysqL.server start,如果希望是MysqLd,那最后这句就写成cp support-files/MysqL.server /etc/init.d/MysqLd,就行了

照着操作就可以了,也比较简单。不过我犯了个错误,抄错行了,已经初始化了,然后才发现。只好去rm掉/var/lib目录下的MysqL目录,重新开始

启动服务 serviceMysqLd start (如上一步中讲到的,有的同学的可能是service MysqL.server start)之后开始登录

为了方便,在bin目录中创建了一个链接文件 ln -s /usr/local/MysqL/bin/MysqL /bin/MysqL,当然也可以在环境变量中加入该路径,比如:PATH=$PATH:/usr/local/MysqL/bin

之后登录时总是报一个这样的错误

ERROR 2002 (HY000): Can't connect to local MysqL server through socket '/tmp/MysqL.sock' (2)

好像是说找不到socket文件,查了一下,这个文件要是损坏了,只要重启一下服务就好,说明这就是服务启动后才会出现的类似监听端口的配置文件

然后试了一下MysqL -uroop -p --socket=/var/lib/MysqL/MysqL.sock 输入初始化时记录的密码

登录成功

因此,ln -s /var/lib/MysqL/MysqL.sock /tmp/MysqL.sock

然后 就全都搞定了

还有最后一步,改一下root密码

set password for 'root'@'localhost' = password('wjz');

补充说明一点,上面操作均是在root下完成的,当我们退出到普通账号之后,有可能发现执行MySQL命令的时候仍然报错ERROR 2002 (HY000): Can't connect to local MysqL server through socket '/tmp/MysqL.sock' (2),这就可能是权限的问题了,查查/tmp目录中的MysqL.sock文件,以及/var/lib/MysqL目录等,改一下权限,问题就可以解决了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。