Linux5:虚拟机安装Mysql8(rpm安装)
虚拟机安装Mysql8.0
1、下载mysql
https://downloads.mysql.com/archives/community/

2、在/usr/local下创建mysql文件并进入文件
[root@LJY home]# cd /usr/local
[root@LJY local]# ls
bin etc games include lib lib64 libexec sbin share src
[root@LJY local]# mkdir mysql
[root@LJY local]# cd mysql/
3、通过Xftp将Mysql安装包拷贝到linux

4、解压包
tar -xvf mysql-8.0.23-1.el8.x86_64.rpm-bundle.tar
注意:这里要-xvf 我们平常的-zxvf不行。
3、安装4个服务之前看是否有自带的mariadb
common,libs,client,server
首先我们要先删除自带的mariadb
rpm -qa | grep mariadb # 查看是否有
如果有就删除
rpm -e xxx --nodeps

4、安装4个服务
rpm -ivh mysql-community-common-8.0.23-1.el8.x86_64.rpm --nodeps --force #后面两个参数表示强制安装
rpm -ivh mysql-community-libs-8.0.23-1.el8.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.23-1.el8.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.23-1.el8.x86_64.rpm --nodeps --force

6、初始化MySQL
mysqld --initialize
7、授权防火墙
chown mysql:mysql /var/lib/mysql -R; # 我们的mysql安装在mysql /var/lib/mysql 的 然后我们要给它授权
systemctl start mysqld.service; #启动mysql服务
systemctl enable mysqld; #是它可用
8、查看数据库的初始密码
cat /var/log/mysqld.log | grep password #在mysql的日志文化中检索password关键字
测试代码:
[root@LJY mysql]# mysqld --initialize
[root@LJY mysql]# chown mysql:mysql /var/lib/mysql -R;
[root@LJY mysql]# systemctl start mysqld.service;
[root@LJY mysql]# systemctl enable mysqld;
[root@LJY mysql]# cat /var/log/mysqld.log | grep password
2021-04-27T09:36:02.605228Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: A=iR/J(lo5rp

9、登录数据库
mysql -u root -p
然后复制我们前面查询到的密码,粘贴过来,注意:Linux系统下的密码是不显示的,因此这里是空白的,不是你没有输入,只是隐藏了。

10、修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH
mysql_native_password BY 'xxx';

11、使用新密码登录

这样就OK了 在Linux安装好了mysql
管理数据库
1、我们先用本地管理工具连接试试

就报错了。
原因是我们没开放远程访问
2、开启远程访问
create user 'root'@'%' identified with mysql_native_password by 'root';
grant all privileges on *.* to 'root'@'%' with grant option; #权限生效
flush privileges;

再次去测试连接,发现还是访问不了。

原因是我们开放了权限没开放端口。
3、开放3306端口
首先退出mysql
# 开启端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld.service #重启防火墙
firewall-cmd --reload #重新加载

再次测试:

4、Mysql安装默认使用美国的时区,北京时间比美国晚8小时
set global time_zone='+8:00';
去mysql中执行代码:

5、创建数据表
create TABLE user(
id INT PRIMARY KEY auto_increment,
name VARCHAR(22),
birthday datetime
);
insert INTO user(name,birthday) VALUES ('小米','1999-01-01');

浙公网安备 33010602011771号