1.查看自己当前系统linux版本
hostnamectl
2.去mysql官网下载自己需要的版本
https://downloads.mysql.com/archives/community/
3.下载完成后解压缩:tar -xvf mysql-5.7.19-1.el7.x86_64.rpm-bundle.tar
4.然后按照下面的顺序逐一安装MySQL:
rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm
提示:在安装第二步libs的时候可能会提示mariadb-libs 被 mysql-community-libs-5.7.43-1.el7.x86_64 取代,这是因为系统中存在mariadb-libs,卸载,从新安装就行
rpm -qa| grep mariadb
rpm -ev mariadb-libs-5.5.68-1.el7
在安装第四步server的时候可能会提示/usr/bin/perl 被 mysql-community-server-5.7.43-1.el7.x86_64 需要
yum -y install perl
5.安装完成后初始化数据库:
执行 mysqld --initialize
执行后会在/var/log/mysqld.log里生成随机密码:A temporary password is generated for root@localhost:
6.启动mysql数据库
systemctl start 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.
查看mysql的日志
tail /var/log/mysqld.log -f -n -300
发现:[ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
查找文件
find / -name "ibdata1"
授权文件
chmod -R 777 /var/lib/mysql
7.登陆mysql数据库
mysql -uroot -p'前面在mysqld.log里获取到的初始密码'
登陆成功后修改密码:mysql > set password=password('pwd_123456');
【提示:】mysql 8 已经不支持用password()函数修改密码了,要用这个语句修改ALTER user 'root'@'localhost' IDENTIFIED BY '要设置的密码';
然后修改用户允许访问数据库的IP和过期时间:
mysql > use mysql;
mysql > update user set host='%', password_expired='N' where host='localhost'; // 我在这里配置的是允许任何IP访问,并且账户永不过期。
mysql > SELECT `Host`, `User`, password_expired FROM `user`;
mysql > flush privileges;
mysql > exit;