安装方式一:yum方式安装
一.安装前准备
安装钱检查 系统内的mariadb
[root@localhost /]# rpm -qa | grep mariadb
mariadb-libs-5.5.52-1.el7.x86_64
卸载mariadb
[root@localhost /]# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave
二.安装MySQL
1、yum仓库下载MySQL:
[root@localhost /]# sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
2、yum安装MySQL:
[root@localhost /]# sudo yum install mysql-community-server
若出现 GPG对于包的源key的验证没有通过 加上 --nogpgcheck 即可绕过GPG验证成功安装
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
[root@localhost /]# sudo yum install mysql-community-server --nogpgcheck
3、启动MySQL服务:
[root@localhost /]# sudo service mysqld start
4、检查MySQL服务状态:
[root@localhost /]# sudo service mysqld status
5、查看初始密码(如无内容直接跳过):
[root@localhost /]# sudo grep 'temporary password' /var/log/mysqld.log
2020-11-26T08:06:41.927587Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 2gLd:BSgf>kE
6、本地MySQL客户端登录:
[root@localhost /]# mysql -uroot -p
7、输入密码为第5步查出的,如果没有,直接回车,然后输入命令
mysql> flush privileges;
8、修改root登录密码:(注意要切换到mysql数据库,使用use mysql)
mysql> use mysql;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
注意:linux下mysql 8.0忘记密码后重置密码
1:免密码登陆
找到mysql配置文件:my.cnf,
在【mysqld】模块添加:skip-grant-tables 保存退出;
[root@localhost /]# find -name "my.cnf"
./etc/my.cnf
[root@localhost /]# vim /etc/my.cnf
i键,编辑 添加 skip-grant-tables
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
skip-grant-tables
Esc退出编辑,:wq保存退出
2:使配置生效 重启mysql服务:
[root@localhost /]# sudo systemctl restart mysqld
3:将旧密码置空
[root@localhost /]# mysql -u root -p
//提示输入密码时直接敲回车(此时无密码登录)。
//选择数据库
mysql> use mysql;
//将密码置空
mysql> update user set authentication_string = '' where user = 'root';
//退出
mysql> quit;
4:去除免密码登陆
删掉步骤1的语句 skip-grant-tables
重启服务
[root@localhost /]# sudo systemctl restart mysqld
5://修改密码
[root@localhost /]# mysql -u root -p
//提示输入密码时直接敲回车,刚刚已经将密码置空了
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc123@xxx';//'abc123@xxx'
密码形式过于简单则会报错
注意:此时mysql 本地可以访问,但远程连接可能会 服务器拒绝连接等问题
//防火墙及开放端口号
[root@localhost /]# yum install firewalld systemd -y
[root@localhost /]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
mysql>use mysql;//选择数据库
mysql>select * from user where user='root';//查看root用户的 访问设置
mysql>update user set host = '%' where user ='root';//修改root用户 可远程访问
mysql>flush privileges;
mysql>select * from user where user='root';//查看是否修改成功
这时基本可以远程连接了