安装有两种方式1.使用rpm 2.配置repo源
如果是centos6要用el6版本,contos7是el7版本,官网目前的示例都是6版本,所以centos7要注意自己修改
1、使用rpm
官网下载https://dev.mysql.com/downloads/repo/yum/,页面最后有最新版的下载地址
官网隐藏了其他版本的下载入口,其他版本的下载地址为http://repo.mysql.com/yum/,里面有很多rpm
下载完毕之后执行rpm命令
sudo rpm -Uvh mysql80-community-release-el7-1.noarch.rpm
2、配置repo源
vi /etc/yum.repos.d/mysql-community.repo
[mysql80-community] name=MySQL 8.0 Community Server baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/ enabled=1 gpgcheck=0
上面的流程跑完后开始安装
sudo yum install mysql-community-server
耐心等待安装完成后,启动服务
sudo systemctl start mysqld.service
mysql初始安装会有一个默认的用户'root'@'localhost',并且会生成随机密码,通过日志可以查看密码
sudo grep 'temporary password' /var/log/mysqld.log
[root@localhost ~]# sudo grep 'temporary password' /var/log/mysqld.log
2018-08-21T09:16:57.431974Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: jjtf8q;?wn7G
从日志中可以看到密码为 jjtf8q;?wn7G,用此密码登录
mysql -uroot -p
登录后修改密码,因为mysql默认开启了密码复杂度判断插件,密码要复杂(大小写特殊符号和数字,至少8位)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin!123';
开始用navicat连接,发现没有权限,忘记设置用host了,修改host,让其他机器访问:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
继续连接,发现报错 not support authentication protocol,查了下是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,把mysql用户登录密码加密规则还原成mysql_native_password.
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’; #更新一下用户的密码
连接成功