虚拟机安装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');