当前位置:Gxlcms > 数据库问题 > Linux Centos7配置mysql8.0数据库

Linux Centos7配置mysql8.0数据库

时间:2021-07-01 10:21:17 帮助过:94人阅读

  1.   yum-config-manager --disable mysql80-community
  2.   yum-config-manager --enable mysql57-community

或者可以编辑 mysql repo文件,

cat /etc/yum.repos.d/mysql-community.repo 

技术图片

将相应版本下的enabled改成 1 即可;

1.2.5 安装mysql 命令如下:

yum install mysql-community-server

技术图片

1.2.6 开启mysql 服务

systemctl start mysqld.service

1.2.7 获取初始密码登录mysql

mysql在安装后会创建一个root@locahost账户,并且把初始的密码放到了/var/log/mysqld.log文件中;

cat /var/log/mysqld.log | grep password

技术图片

使用初始密码登录mysql

mysql -u root -p 

修改初始密码:所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘MyNewPass4!‘;

1.2.8 在防火墙中开启3306端口

CentOS7默认使用的是firewall作为防火墙,我这里改为习惯常用的iptables防火墙

第一步: 关闭firewall防火墙

  1.   systemctl stop firewalld.service
  2.   systemctl disable firewalld.service
  3.   systemctl mask firewalld.service

第二步: 安装iptables防火墙

yum install iptables-services -y

第三步: 启动iptable防火墙

  1.   systemctl enable iptables
  2.   systemctl start iptables

第四步: 编辑防火墙增加端口 防火墙文件位置为: /etc/sysconfig/iptables

vim /etc/sysconfig/iptables

在倒数第三行上增加

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

技术图片

第五步: 重启防火墙

  1.   systemctl enable iptables.service
  2.   systemctl start iptables.service

1.2.9 将mysql 服务加入开机启动项,并启动mysql进程

  1.   systemctl enable mysqld.service
  2.   systemctl start mysqld.service

常用mysql服务命令:

  1.   登录mysql
  2.   mysql -u username -p
  3.    
  4.   退出mysql
  5.   quit
  6.    
  7.   启动mysql
  8.   systemctl start mysqld.service
  9.    
  10.   结束
  11.   systemctl stop mysqld.service
  12.    
  13.   重启
  14.   systemctl restart mysqld.service
  15.    
  16.   开机自启
  17.   systemctl enable mysqld.service
  18.    
  19.   查看mysql版本
  20.   select version();

本节参考文档:

参考文献1: centos安装mysql

参考文献2: A Quick Guide to Using the MySQL Yum Repository

 

------------------------------------------------------------------------------------------------------------------

第二部分 Navicat 连接 Mysql8

2.1 开启mysql远程服务:

2.1.1 修改mysql数据库下的user表中host的值

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"登录mysql数据库 执行如下命令:

  1.   mysql -u root -p
  2.   use mysql;
  3.   update user set host=‘%‘ where user=‘root‘;

技术图片

2.1.2 使用授权的方式

赋予任何主机访问数据的权限

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES

如果想myuser用户使用mypassword密码从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘%‘IDENTIFIED BY ‘mypassword‘ WITH GRANT OPTION;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘192.168.1.3‘IDENTIFIED BY ‘mypassword‘ WITH GRANT OPTION;

2.2 在使用 Navicat for Mysql连接mysql 8.0时会报如下错误:

Authentication plugin ‘caching_sha2_password‘ cannot be loaded: 

mysql8.0 引入了新特性 caching_sha2_password;这种密码加密方式客户端不支持;客户端支持的是mysql_native_password 这种加密方式;

我们可可以查看mysql 数据库中user表的 plugin字段;

技术图片

可以使用命令将他修改成mysql_native_password加密模式:

update user set plugin=‘mysql_native_password‘ where user=‘root‘;

再用Navicat链接 就可以链接成功;

 也可以新建用户远程连接

#CREATE USER ‘用户名‘@‘主机‘ IDENTIFIED BY ‘密码‘;

CREATE USER ‘lylong‘@‘%‘ IDENTIFIED BY ‘901109‘;

这一步提示密码过于简单,先执行一下两条命令,再次运行创建用户的命令就行 .

set global validate_password.policy=0;

set global validate_password.length=1;

mysql8.0默认的加密方式是“caching_sha2_password”,而navicat只支持以前的"mysql_native_password",所以接下来修改密码加密方式

ALTER USER ‘lylong‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘901109‘;

修改后可以执行select host,user,plugin from user;语句,查看新增用户的plugin是否是"mysql_native_password"

6 设置该账户可以远程登陆

GRANT ALL PRIVILEGES ON *.* TO ‘lylong‘@‘%‘;

7 刷新权限

flush privileges;

 

本节参考文献:

参考文献1: mysql开启远程的两种方式

参考文献2:初次安装mysql遇到的问题

 

------------------------------------------------------------------------------------------------------------------

第三部分:安装过程中涉及到的Linux命令学习;

3.1 rpm

 

3.2 putty 上传文件 pscp命令;

    在window机上CD进入pttty安装目录:

    cd :\program files (x86)\Putty

    将本地文件拷贝到Linux上:pscp 文件 用户名@LinuxIP:目录

    pscp hello.txt root@192.168.145.135:/tmp/userfile/

    将本地文件夹 拷贝到Linux上:pscp  -r 目录 用户名@LinuxIP:目录

   pscp -r c:\file root@10.43.65.98:/root/testFolder  

    将Linux上的文件\root\test.txt拷贝到本地C盘src文件夹,如下:

   pscp root@abc_pc:/root/test.txt  C:\src  

 

3.3 修改防火墙文件/etc/sysconfig/iptables

 

3.4 systemctl命令

Linux Centos7配置mysql8.0数据库

标签:文档   localhost   community   command   wpa   mysql服务器   退出   接下来   input   

人气教程排行