您的位置:首页 > 运维架构 > Linux

centos7下载安装mysql8.0(yum安装)

2019-06-03 20:12 246 查看

首先,先到mysql的官方网址找到mysql8的yum下载地址
官网:https://dev.mysql.com/downloads/repo/yum/

这里,我选择的是社区版本

下载mysql
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm

安装mysql
yum install mysql mysql-server

启动mysql
sudo systemctl start mysqld

检查mysql状态
sudo systemctl status mysqld

有红框的时间就是状态正常

查看临时密码
sudo grep ‘temporary password’ /var/log/mysqld.log

配置mysql
sudo mysql_secure_installation

密码就设置为(设置了半天)
MyNewPass4!
然后后面是一系列的初始化设置,默认就好了

查询mysql版本号
mysqladmin -u root -p version

开放其他地址连接
mysql -u root -p
mysql>use mysql;
mysql>update user set host = ‘%’ where user = ‘root’;
mysql>grant all privileges on . to root@’%’ identified by “MyNewPass4!”;
mysql>flush privileges;

开放端口-防火墙

firewall-cmd --get-active-zones

添加端口到防火墙中

firewall-cmd --zone=public --add-port=3306/tcp --permanent

防火墙重新读取端口列表

firewall-cmd --reload

随后测试连接会出现以下错误

经查,是mysql8.0启用caching_sha2_password作为首选的身份验证插件

解决方法一:
登陆mysql
mysql -uroot -pMyNewPass4!
查询登陆方式
use mysql;
select host, user, plugin from user;

发现新版MySQL都是默认用caching_sha2_password这个plugin来加密密码了

执行修改验密方式
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘MyNewPass4!’;
flush privileges;

这时登陆验密方式改变了,再测试链接就可以成功了

ps:MYSQL8.0版本sql_mode=only_full_group_by问题
先用select @@sql_mode;查询,复制这个值,在my.cnf中添加配置项(把查询到的值删掉only_full_group_by这个选项,其他的都复制过去):

vi /etc/my.cnf

sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

重启mysql服务
重启服务:systemctl restart mysqld.service
停止服务:systemctl stop mysqld.service
启动服务:systemctl start mysqld.service
查看服务:systemctl status mysqld.service

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: