1.删除原有MySQL数据库及MariaDB文件
[root@localhost ~]# rpm -pa | grep mysql
[root@localhost ~]# rpm -pa | grep mariadb
2.下载MySQL repo源
Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package
3.安装
更新yum缓存
scp /Users/xxx/Downloads/mysql80-community-release-el7-1.noarch.rpm root@192.168.x.xxx:/usr/local/src
[root@localhost ~]# rpm -ivh /usr/local/src/mysql80-community-release-el7-1.noarch.rpm
返回
警告:/usr/local/src/mysql80-community-release-el7-1.noarch.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mysql80-community-release-el7-1 ################################# [100%]
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls | grep mysql
返回
mysql-community.repo
mysql-community-source.repo
[root@localhost yum.repos.d]# yum clean all
返回
已加载插件:fastestmirror
正在清理软件源: base extras mysql-connectors-community mysql-tools-community mysql80-community updates
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum makecache
使用yum安装MySQL
查看mysql yum仓库中mysql版本
[root@localhost yum.repos.d]# yum repolist all | grep mysql
返回
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community 禁用
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - Sou 禁用
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community 禁用
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - Sou 禁用
mysql-connectors-community/x86_64 MySQL Connectors Community 启用: 51
mysql-connectors-community-source MySQL Connectors Community - Sour 禁用
mysql-tools-community/x86_64 MySQL Tools Community 启用: 63
mysql-tools-community-source MySQL Tools Community - Source 禁用
mysql-tools-preview/x86_64 MySQL Tools Preview 禁用
mysql-tools-preview-source MySQL Tools Preview - Source 禁用
mysql55-community/x86_64 MySQL 5.5 Community Server 禁用
mysql55-community-source MySQL 5.5 Community Server - Sour 禁用
mysql56-community/x86_64 MySQL 5.6 Community Server 禁用
mysql56-community-source MySQL 5.6 Community Server - Sour 禁用
mysql57-community/x86_64 MySQL 5.7 Community Server 禁用
mysql57-community-source MySQL 5.7 Community Server - Sour 禁用
mysql80-community/x86_64 MySQL 8.0 Community Server 启用: 17
mysql80-community-source MySQL 8.0 Community Server - Sour 禁用
*mysql8.0为启用状态 yum-config-manager修改启用相应版本
(yum-config-manager --disable mysql80-community yum-config-manager --enable mysql57-community)
安装MySQL
[root@localhost yum.repos.d]# yum install mysql-community-server
4.开启MySQL
[root@localhost yum.repos.d]# systemctl start mysqld.service
查看初始密码
[root@localhost yum.repos.d]# cat /var/log/mysqld.log | grep password
返回
2018-05-23T10:19:21.189620Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: sjqbpywGl8(q
使用初始密码登陆MySQL
[root@localhost yum.repos.d]# mysql -u root -p
修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
5.防火墙开启3306端口
·关闭firewall防火墙
[root@localhost yum.repos.d]# systemctl stop firewalld.service
[root@localhost yum.repos.d]# systemctl disable firewalld.service
返回
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost yum.repos.d]# systemctl mask firewalld.service
返回
Created symlink from /etc/systemd/system/firewalld.service to /dev/null.
·安装iptable防火墙
[root@localhost yum.repos.d]# yum install iptables-services -y
·启动iptable防火墙
[root@localhost yum.repos.d]# systemctl enable iptables
返回
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.
[root@localhost yum.repos.d]# systemctl start iptables
·防火墙增加端口[root@localhost yum.repos.d]# vi /etc/sysconfig/iptables
倒数第三行添加
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
·重启iptable防火墙
[root@localhost yum.repos.d]# systemctl enable iptables.service
[root@localhost yum.repos.d]# systemctl start iptables.service
·查看规则是否生效
iptables -L -n
若无3306
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
service iptables save
6.启动MySQL进程
[root@localhost yum.repos.d]# systemctl enable mysqld.service
[root@localhost yum.repos.d]# systemctl start mysqld.service
7.允许远程登录MySQL
·修改user表host值
[root@localhost yum.repos.d]# mysql -u root -p
mysql> use mysql;
mysql> update user set host='%' where user='root';
mysql> select host,user from user;
返回
+-----------+------------------+
| host | user |
+-----------+------------------+
| % | root |
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
+-----------+------------------+
4 rows in set (0.00 sec)
·授权
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;