数据库包下载:https://pan.baidu.com/s/1U1x_HSiLBzlcR6HLTRoF8g
提取码:b5vt
下载后上传到服务器下,我放的目录是/usr/local
安装mysql步骤:
清理环境
centos7会自带一个mariadb
查看是否已安装
rpm -qa |grep -i mysql
centos7默认系统自带的
rpm -qa |grep -i mariadb
mariadb是从mysql来的,是它的一个分支,需要清理掉
清理掉mariadb包
用yum直接安装你的话,用的mariadb的yum源,它跟mysql官方正式版不太一样,我们要安装官方正式版,就需要清掉mariadb,然后手动安装自己下载的官方正式版mysql
rpm -e 加上包名,把mariadb包清掉
可以看到用rpm删除会失败,提示有依赖关系的软件需要安装
rpm -e mariadb-libs-5.5.64-1.el7.x86_64
rpm删除时如果有依赖关系,可以用yum remove + 包名来删除mariadb
yum remove mariadb-libs-5.5.64-1.el7.x86_64
解压上传的 mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
开始安装:
一般用装软件用yum直接安装也可以,但是有一个问题:用yum的话,是到默认的mariadb用的yum源去找,可能会找不到,所以我们自己来安装
rpm –ivh + 包安装所需要的包
rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm
现在MySQL已经安装完成
默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log/var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
查看mysql是否安装成功,看到mysql相关最近代表安装成功
rpm -qa | grep -i mysql
查看是否有mysql进程
ps -ef | grep mysql
启动服务
systemctl start mysqld.service
查看mysql服务是否启动
ps -ef | grep mysql
mysql安装成功,删除安装包(可选) :
rm -rf mysql-*
MySQL启动后会给root生成一个随机的初始密码
grep "password" /var/log/mysqld.log
登录数据库:
mysql -u root -p
然后输入随机密码 敲回车
登录后会提示一下信息:如连接线程id、版本什么的
在使用前要设置一个自己的密码,就算不设置也会要求设置的
查看数据库有哪些库
show databases;
密码规则:大写字母+小写字母 + 数字 + 特殊符号的组合,否则会报错,如下
修改密码:
alter user 'root'@'localhost' identified by 'Aliwang!123';
再次查看库
show databases;
创建用户:CREATE USER '用户名'@'%' IDENTIFIED BY '密码';
CREATE USER 'mysql'@'%' IDENTIFIED BY 'Mysql2020!';
授权:GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%' WITH GRANT OPTION;
执行 flush privileges;命令立即生效
flush privileges;
如果要设置root用户远程可以访问,如下设置:
使用mysql 数据库:
use mysql;
特定用户的host 修改:
update user set host='%' where user='root';
指定用户的授权
grant all privileges on mysql.* to root@'%';
执行 flush privileges;命令立即生效
flush privileges;
退出MySQL
exit
至此,整个mysql配置完成
mysql会自带一些系统库:
information_schema存一些统计数据
performance_schema存一些状态数据,
mysql存的数据用于监控、权限、账号等
test是测试库,用于做测试用的