因为同学的一句mysql新版本不用安装,然后就去试了一下。。。。。。很多坑。。。
查阅的网上众多博主资料,自己也有一些新的错误,最后总算是解决了。
mysql 8.0.13安装
1.卸载mariaDB
我们在Linux系统中,如果要使用关系型数据库的话,基本都是用的mysql。
而且以往7以下版本的centos系统都是默认的集成有mysql。
然而对于现在最新的centos7系统来说,已经不支持mysql数据库,它默认内部集成了mariaDB。
- 执行:
rpm -qa | grep mariadb确定版本号

- 删除:
yum remove mariadb-libs-5.5.64-1.el7.x86_64 - 检查是否删除:
rpm -qa | grep mariadb

- 删除配置文件和数据目录
rm -f /etc/my.cnf
rm -rf /var/lib/mysql/

2.卸载已有的mysql
- 检查是否安装mysql:
rpm -qa | grep mysql
- 卸载:
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
- 查询所有Mysql对应的文件夹:
whereis mysql
find / -name mysql

- 删除对应文件
这一步删除的路径根据你查找的路径而定。
rm -rf /usr/bin/mysql /usr/lib64/mysql /usr/local/mysql /usr/bin/mysql /usr/local/mysql /usr/local/mysql/data/mysql
rm -rf /run/lock/subsys/mysql /etc/selinux/targeted/active/modules/100/mysql /etc/rc.d/init.d/mysql
- 再次查询判断

3.安装mysql8.0.13
- 下载
Wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar
- 解压
tar -xvf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar
- 下载依赖包
yum install libaio
- 解压后的目录

- 使用 rpm -vih XXXXXX(XXXXXX 为 rpm包全名)
rpm -vih mysql-community-common-8.0.13-1.el7.x86_64.rpm
rpm -vih mysql-community-libs-8.0.13-1.el7.x86_64.rpm
rpm -vih mysql-community-libs-compat-8.0.13-1.el7.x86_64.rpm
rpm -vih mysql-community-client-8.0.13-1.el7.x86_64.rpm
rpm -vih mysql-community-embedded-compat-8.0.13-1.el7.x86_64.rpm
rpm -vih mysql-community-server-8.0.13-1.el7.x86_64.rpm
执行结果:

- 启动mysql
service mysqld restart
报错一
在执行mysql启动的时候,遇到报错:
Redirecting to /bin/systemctl restart mysqld.service
Job for mysqld.service failed because the control process exited with error code.
See "systemctl status mysqld.service" and "journalctl -xe" for details.
查看日志:(大家一定要看日志找问题,也有可能是其他问题)
vi /var/log/mysqld.log

查看资料得知:问题出在3306端口被占用
使用命令:ps -aux | grep mysql
发现并没有3306端口的mysql进程。
使用命令:netstat –apn
查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name
[root@lyc local]# netstat -apn | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 6478/mysqld
[root@lyc local]# kill 6478
[root@lyc local]# netstat -apn | grep 3306
-
重新启动mysql
service mysqld restart

-
找到初始密码
不知道为何,这个版本的网上有些博主说是不需要初始密码的,但是我测试了无法登录,需要密码;
执行命令:grep 'temporary password' /var/log/mysqld.log

- 登录:
mysql -u root -p输入上一步的密码

- 重置密码
这一步是必须要执行的!!!
为了加强安全性,在此版本中,默认需要修改密码。
且密码必须:长度为8为,包含大小写字母,特殊符号以及数字(真麻烦)。
输入:ALTER USER USER() IDENTIFIED BY 'Lyc@1234';(后面的八位密码自定义)
执行结果:

- 把密码弄的简单点:
上述密码的取值规则与validate_password.policy的取值有关。
输入:SHOW VARIABLES LIKE 'validate_password%';

validate_password.policy默认是MEDIUM即1,需要修改两个参数:
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)
- 再次查看:
SHOW VARIABLES LIKE 'validate_password%';

修改密码:alter user 'root'@'localhost' identified by '123456';

- 重新登录:

报错二
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
意思是:你需要首先初始化密码才行。见上述初始化密码。
报错三
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
意思是:你设置的密码不符合格式,应该要8位且包含大小写字母,特殊符号和数字。
这篇博客详细记录了在CentOS7系统中卸载MariaDB和旧版MySQL,以及安装MySQL8.0.13的过程。在安装过程中遇到了端口占用、初始密码设置和密码策略等错误,通过查看日志和调整配置成功解决问题。
480





