1.首先centos7内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,由于确定使用mysql,那只有卸载mariadb了
1.1 查询:rpm -qa|grep mariadb
得到数据信息:mariadb-libs-5.5.65-1.el7.x86_64
1.2 卸载命令:rpm -e mariadb-libs-5.5.65-1.el7.x86_64
error: Failed dependencies:
libmysqlclient.so.18()(64bit) is needed by (installed) net-snmp-agent-libs-1:5.7.2-48.el7_8.1.x86_64
libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-9.0.1.el7.centos.plus.x86_64
libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) net-snmp-agent-libs-1:5.7.2-48.el7_8.1.x86_64
libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-9.0.1.el7.centos.plus.x86_64
1.3 强制卸载 rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
2.下载并安装MySQL官方的yum repository(yum源安装)
2.1 打开官网下载页面 https://dev.mysql.com/downloads/repo/yum/ 可以看到和下面一样的信息
Red Hat Enterprise Linux 7/ Oracle Linux 7(Architecture Independent), RPM Package 6.9K Download
(mysql80-community-release-el7-4.noarch.rpm) MD5:8b55d5fc443660fab90f9dc328a4d9ad
2.2 可以选择两种方式下载
1. 直接在页面点击download按钮,下载rpm包 上传到安装机器上
注意:(下载页面选则下载的时候 选择No thanks, just start my download.)
2. wget -i -c http://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm
2.3 直接安装刚下载的rpm包
yum localinstall mysql80-community-release-el7-4.noarch.rpm
安装这个包后,会获得两个mysql的yum-repo源:
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo
2.4 安装mysql服务
yum install mysql-community-server
2.5 安装完毕,启动mysql服务
systemctl status mysqld.service
systemctl start mysqld.service
2.6 查询MySQL的临时密码
grep 'temporary password'/var/log/mysqld.log (将临时密码复制下来)
mysql -uroot -p 输入刚才复制的临时密码
2.7 更改数据库密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';(新密码要数字字母,否则会报错)
如果需要设置简单的密码
如果5.6版本也就是旧版本执行下面的操作
mysql> set global validate_password_policy=0;
Query OK,0 rows affected (0.00 sec)
mysql> set global validate_password_length=1;
Query OK,0 rows affected (0.00 sec)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
如果是8.0版本 新版本
需先设置一个符合的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_root123*';
再执行下面的操作设置新的简单的密码
mysql> set global validate_password.policy=0;
Query OK,0 rows affected (0.00 sec)
mysql> set global validate_password.length=1;
Query OK,0 rows affected (0.00 sec)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';2.8.授权用户远程登录mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
如果连接报这样的错:ERROR 2003(HY000): Can't connect to MySQL server on
请先确认防火墙是否开启来,centos7默认是firewall,我们可以把它停止并禁止使用不过需要确认是否安全
2.9 密码重置后,可能会遇到的错误
1.登录时有可能报这样的错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'(2)
解释:原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
chown -R root:root /var/lib/mysql
2.开放3306端口
vi /etc/sysconfig/iptables
在文件里添加一句:-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306-j ACCEPT