centos7系统用yum安装mysql5.7

1 篇文章 0 订阅
1 篇文章 0 订阅

由于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 https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm下载

注:现在所有版本的mysql都包含在该rpm文件中,官方文档有详细说明:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

3、安装mysql80-community-release-el7-3.noarch.rpm

在rpm文件路径(在执行wget的路径下)输入命令:sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm

4、安装MySQL

输入命令:yum repolist all | grep mysql,可查看当前yum库包含的所有mysql版本;

由于默认安装最新版本(当前8.0),如果要安装5.7,则需要额外配置一下,禁用8.0版本:

shell> sudo yum-config-manager --disable mysql80-community

shell> sudo yum-config-manager --enable mysql57-community

安装命令:sudo yum install mysql-community-server

由于要下载174M的包,慢慢等待,只到看到complete为止,期间会有Y/N提示,输入Y按回车即可。

注:如果提示找不到yum-config-manager命令,执行yum -y install yum-utils安装工具包。

5、验证安装结果

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

查看mysql启动状态:systemctl status mysqld.service

启动MySQL命令:systemctl start mysqld.service

      如果发现不能启动,可以去/var/log/mydqld.log中看错误日志,实在不行卸载掉重新安装试试,卸载要干净,运行rm -rf /var/lib/mysql把/var/lib/mysql这个目录删除,卸载的时候不会自动删。

停止命令:systemctl stop mysqld.service

重启命令:systemctl restart mysqld.service

连接MySQL命令:mysql -uroot -p

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

     找到随机密码登录后要先修改密码才能做其他操作:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'you password';

修改后执行FLUSH PRIVILEGES;并重启mysql; 

6、授权远程访问mysql问题

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

GRANT ALL PRIVILEGES ON `*`.* TO 'root'@'192.168.*.*' identified by 'mypwd' WITH GRANT OPTION;(指定IP权限)

GRANT ALL PRIVILEGES ON `*`.* TO 'root'@'%' identified by 'mypwd' WITH GRANT OPTION;(所有IP权限)

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

如果远程连接后看不到'mysql'数据库,或新建库等操作出现“Access denied for user 'root'@'%' to database xxx”异常,执行FLUSH PRIVILEGES刷新下权限重新连接或重新授mysql库权限试试,GRANT ALL PRIVILEGES ON mysql.* TO 'root'@'%' identified by 'mypwd' WITH GRANT OPTION;

FLUSH PRIVILEGES;

然后从客户端登录mysql,查看mysql.user表对比root用户的location和%条数据的区别,把host='%'的数据为N的都改成Y,这样远程root用户就有超级权限了。也可以执行以下SQL授权:

UPDATE `user` SET `Select_priv`='Y', `Insert_priv`='Y', `Update_priv`='Y', `Delete_priv`='Y', `Create_priv`='Y', `Drop_priv`='Y', `Reload_priv`='Y', `Shutdown_priv`='Y', `Process_priv`='Y', `File_priv`='Y', `References_priv`='Y', `Index_priv`='Y', `Alter_priv`='Y', `Show_db_priv`='Y', `Create_tmp_table_priv`='Y', `Lock_tables_priv`='Y', `Execute_priv`='Y', `Repl_slave_priv`='Y', `Repl_client_priv`='Y', `Create_view_priv`='Y', `Show_view_priv`='Y', `Create_routine_priv`='Y', `Alter_routine_priv`='Y', `Create_user_priv`='Y', `Event_priv`='Y', `Trigger_priv`='Y', `Create_tablespace_priv`='Y' WHERE (`Host`='%') AND (`User`='root');

如果启用了防火墙还需要开放3306端口或关闭防火墙。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值