centos系统用yum安装mysql5.7

来源:互联网 发布:采购询价软件 编辑:程序博客网 时间:2024/06/05 09:22

由于yum源中最高的mysql版本为5.1.73,不能直接安装。

1、centos可能会自带MySQL,如果不是你想要的版本,先删除

  输入命令:yum list installed | grep mysql

 如果有显示,说明已经安装了,先卸载掉,

 输入命令:yum -y remove mysql.i686

其中MySQL.i686是安装的名称,

2、下载rpm文件,到官网https://dev.mysql.com/downloads/repo/yum/下载相应版本的rpm文件

如果已经安装wget工具,可执行命令:wget http://repo.mysql.com/mysql-community-release-el6-11.noarch.rpm或 wget

https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm下载

 我下载的是mysql57-community-release-el6-11.noarch.rpm

3、安装mysql57-community-release-el6-11.noarch.rpm包

在rpm文件路径输入命令:sudo rpm -ivh mysql57-community-release-el6-11.noarch.rpm

安装后会在“/etc/yum/repos.d/”下生成两个文件:mysql-community.repo和mysql-community-source.repo。

4、安装MySQL

输入命令:yum -y install mysql-server mysql

由于要下载174M的包,慢慢等待,只到看到complete为止。

5、验证安装结果

查看已安装的mysql:yum list installed | grep mysql

查看mysql启动状态:service mysqld status

启动MySQL命令:service mysqld start

      如果发现不能启动,可以去/var/log/mydqld.log中看错误日志,我安装后就无法启动,百度了很多方法都不行,最后卸载掉重新安装后成功,卸载要干净,运行rm -rf /var/lib/mysql把/var/lib/mysql这个目录删除,卸载的时候不会自动删。

停止MySQL命令:service mysqld stop

连接MySQL命令:mysql -uroot -p

       这时会让你输入密码,mysql5.7以前初始安装时无密码,直接按回车即可,但5.7默认设置了随机密码,可以通过命令grep "password" /var/log/mysqld.log查找设置的随机密码进行登录,如果不能登录或不想用这种方式,可以修改/etc/my.cnf,增加配置项skip-grant-tables=1让其忽略密码校验,修改完后执行service mysqld restart重启。

     登录成功后修改密码命令:use mysql;update user set authentication_string = password('root123'), password_expired = 'N', password_last_changed = now() where user = 'root';

这样就把root用户的密码设置成root123了,然后再修改/etc/my.cnf,把skip-grant-tables属性注释或删除,然后重启mysql重新登录。

6、授权远程访问mysql问题

我在经过以上设置后在虚拟机上能正常访问,但从宿主机就不能访问了,搞了好久,很蛋疼,原来除了授权外还有个地方要注意。

GRANT ALL PRIVILEGES ON `*`.* TO 'root'@'192.168.*.*' identified by 'mypwd' WITH GRANT OPTION;

通过这个语句可以授权192.168任何网段的主机访问MySQL,执行完后执行FLUSH PRIVILEGES;刷新权限。

但我的宿主机仍然不能连接,仍然提示拒绝访问。。。

然后我又重新执行了次update user set authentication_string = password('root123'), password_expired = 'N', password_last_changed = now() where user = 'root';刷新权限后再尝试,居然连上了!原来是密码问题。

还要记得设置防火墙哦,要么关闭,要么修改/etc/sysconfig/iptables,增加配置-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT,开放3306端口,一定要在-A INPUT -j REJECT --reject-with icmp-host-prohibited之前加。



原创粉丝点击