CentOS7安装数据库
这次因为一些原因重装服务器的mysql,在网上找了很多的案列进行操作,发现很多的案列都不完整,甚至错误百出,索性自己写一篇博文来记录本人的安装成功的过程。
**{— —}**中间为一些提示信息和注意事项
本篇博文中有大量其他网络资料,也借鉴了网上很多文章。
首先,清理存在的残余mysql
代码:
rpm -qa | grep mysql
演示如下:
若查询有安装的mysql后,执行以下命令依次卸载
(mysql-xxx-xxx 为查询到的已安装的mysql,若查询没有安装mysql,直接跳过此步)
yum remove mysql-xxx-xxx
找到mysql的配置文件并删除
(mysql卸载不会自动删除配置文件,需自行清理)
查找:
find / -name mysql
删除:
(/var/lib/mysql 为查找到的其中一个)
rm -rf /var/lib/mysql
需要删除CentOS中默认安装有MariaDB
(不删除MariaDB文件的话,安装mysql时可能会发生冲突)
使用rpm 命令查找出要删除的mariadb文件:
命令如下:
rpm -pa | grep mariadb
若查询有则删除:
(mariadb-libs.x86_64 为查询到的MariaDB)
yum -y remove mariadb-libs.x86_64
正式开始安装新的mysql
可以先去mysql官网查询一下最新的mysql repo的版本(无需下载)
网址:https://dev.mysql.com/downloads/repo/yum/
{—
一些默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log/var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
—}
使用命令yum install wget 安装wget,在线安装mysql。
命令如下:
wget http://dev.mysql.com/get/Downloads/mysql80-community-release-el7-3.noarch.rpm
安装mysql80-community-release-el7-3.noarch.rpm包。
命令如下:
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
安装mysql
命令如下:
(中途一直选择y即可)
yum install mysql-community-server
成功后,进行mysql初始化配置
启动mysqld服务
systemctl start mysqld.service
设为开机自动启动
systemctl enable mysqld.service
修改mysql初始密码
编辑mysql配置文件添加以下内容
default-authentication-plugin=mysql_native_password #配置文件本来就有去掉注释即可
symbolic-links=0
skip-grant-tables
{—
一下linux的基础操作:
vi /etc/hosts(vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件 简单来说就是通过vi指令打开指定文件)
键盘 i(启用编辑模式)
键盘 esc(退出编辑模式)
:wq (保存退出)
tail -f /etc/hosts(tail -f查看文件)
—}
重启MySQL服务
systemctl restart mysqld
无密码登录MySQL(输入密码时直接按enter键)
mysql -u root -p
将原密码设置为空
update user set authentication_string='' where user='root';
将root密码设置@Ww1
(注意Mysql8密码设置规则必须是大小写字母+特殊符号+数字的类型)
alter user 'root'@'localhost' identified by '@Ww1';
将host更改% 方便远程接入
update user set host ='%' where user='root';
{—
登录mysql
mysql -u root -p
mysql> use mysql;
mysql> select user,host from user;
就可看到
此时后续就不能写成
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '@Ww2';
应该写成
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '@Ww2';
—}
使用已经设置的密码来更改加密方式
ALTER USER 'root'@'%' IDENTIFIED BY '@Ww1' PASSWORD EXPIRE NEVER;
使用新的加密方式重新设置密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '@Ww2';
刷新权限:
flush privileges;
这样就安装好了mysql,然后记得将之前在mysql的配置文件中加入的三行删除
重启MySQL服务
systemctl restart mysqld
{—
MySQL8.0的加密规则有所改变,要想用Navicat for mysql这样的客户端连接的话,必须修改加密规则。
但加密规则更改又必须在设置密码的情况下修改,所以要改了两次密码。
第一次密码是@Ww1,更改完后就有资格修改加密规则
等加密规则修改后,再用新的加密规则把密码再改一次
这之后刷新,然后重启,就可正常使用Mysql了。
Navicat for mysql:
防火墙
1、查看firewall服务状态
systemctl status firewalld
出现Active: active (running)切高亮显示则表示是启动状态。
出现 Active: inactive (dead)灰色表示停止。
查看firewall的状态
firewall-cmd --state
开启
service firewalld start
重启
service firewalld restart
关闭
service firewalld stop
查看防火墙规则
firewall-cmd --list-all
查询端口是否开放
firewall-cmd --query-port=8080/tcp
开放80端口
firewall-cmd --permanent --add-port=80/tcp
移除端口
firewall-cmd --permanent --remove-port=8080/tcp
重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
—}