安装前清理工作

清理原有的mysql数据库

使用以下命令查找出安装的mysql软件包和依赖包

rpm -qa | grep mysql

在这里插入图片描述
使用以下命令依次删除上面的程序:

yum remove 名字

在这里插入图片描述
再检查一遍是否有残留,没有的话进入下一步:删除mysql的配置文件。

卸载不会自动删除配置文件,首先使用如下命令查找出所用的配置文件:

find / -name mysql

在这里插入图片描述
使用以下命令依次删除上面的程序:

rm -rf 名字

在这里插入图片描述

删除MariaDB的文件

使用rpm命令查找出要删除的mariadb文件:

rpm -qa | grep mariadb

在这里插入图片描述
删除语句:

rpm -e 文件名

我这里没有,因此跳过这一步

安装MySQL

下载Yum Repository

网址:https://dev.mysql.com/downloads/repo/yum/

根据不同版本的CentOS系统进行下载,点击Download,我的是Linux 7
在这里插入图片描述
我是通过xftp把Windows上的文件上传到下shell服务器中的
在这里插入图片描述

也可以使用XShell,连接服务器,下载mysql的repo源:

wget https://repo.mysql.com//mysql80-community-release-el7-5.noarch.rpm

安装mysql80-community-release-el7-5.noarch.rpm包

rpm -ivh mysql80-community-release-el7-5.noarch.rpm

在这里插入图片描述

安装MySQL

yum -y install mysql-community-server

在这里插入图片描述
在这里插入图片描述

启动mysql服务并查看mysql状态

创建mysql目录

mkdir mysql

我放在了/usr/local/mysql这里
并在mysql中添加了data目录数为数据目录
在这里插入图片描述

查找my.cnf文件位置,我的在/etc/my.cnf

locate my.cnf

修改Mysql配置文件

vim /etc/my.cnf

在[mysqld]在下面增加一行

lower_case_table_names=1 (0:大小写敏感;1:大小写不敏感)

找到mysql.server地址

find / -name mysql.server

在这里插入图片描述
配置mysql相关地址
在这里插入图片描述
启动mysql服务:

systemctl start mysqld.service  

初始化(很重要!!!

MySQL8,新增data dictionary,数据初始化的时候在Linux下默认使用lower_case_table_names=0的参数,数据库启动的时候,读取/etc/my.cnf中的值,如果/etc/my.cnf中的值与数据库初始化时的值不一样,则会报如下错误

[ERROR] [MY-011087] [Server] Different lower_case_table_names
settings for server (‘1’) and data dictionary (‘0’).
MySQL官方提供的rpm包,默认禁用

lower_case_table_names=0

–官方解释: After initialization, is is not allowed to change this setting.So “lower_case_table_names” needs to be set together with
–initialize .

此参数需数据库初始化的值和启动是的值需相等

mysqld --lower_case_table_names=1 --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

查看状态

systemctl status mysqld.service

在这里插入图片描述
active表示mysql服务已启动。

获取mysql的root用户初始密码并修改

获取root用户初始密码:

grep "password" /var/log/mysqld.log 

在这里插入图片描述
因为安装了Yum Repostiory,以后每次yum操作都自动更新,需要把这个卸载掉:

yum -y remove mysql80-community-release-el7-5.noarch

关闭和重启mysql:

systemctl stop mysqld.service   #关闭mysql
service mysqld restart		    #重启mysql

登录root用户并修改密码:

mysql -uroot -p

密码是刚刚生成的那串数字

A temporary password is generated for root@localhost: Mh>tqxtsd8(z

修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

新密码的要求是8位数,包含大小写字母和数字以及特殊符号(!@ #_)等等

如果出现以下错误:是密码安全性未达到要求,你可以先设置比较复杂的密码(之后可以再改),因为第一次登陆必须先修改密码才能进行其他操作

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

在这里插入图片描述

登陆之后,可查看MySQL完整的初始密码规则:

SHOW VARIABLES LIKE 'validate_password%';

在这里插入图片描述
可以临时修改validate_password.length和validate_password.policy的值,再设置较为简单的密码:

set global validate_password.length=6;
set global validate_password.policy =0;

在这里插入图片描述

设置远程连接(Navicat)

use mysql;                   # 使用mysql数据库
select user,host from user;  # 查看用户及用户登录权限

在这里插入图片描述

上面表示的的四个用户均只能本地登录,不允许远程登录,所以我们需要新增用户,并赋予远程连接权限

新增远程连接用户:

CREATE USER 'ry'@'%' IDENTIFIED BY '123456';

设置远程连接权限

grant all privileges on *.* to 'ry'@'%';

刷新权限

flush privileges;

导入数据库文件

source 命令导入数据库需要先登录到数库终端:

创建数据库

 create database ry;

使用数据库

use ry;

设置编码

set names utf8;

导入数据库(最好是在数据库所在的文件下操作,否则需要填写绝对地址)

source ry.sql

在这里插入图片描述
数据导入完成之后,可以查看数据库中的表看看是否完整

show tables;

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐