在CentOS7上搭建MySQL 8.0并实现远程访问

注:本人使用版本:

       CentOS-7-x86_64-DVD-1804

       mysql-8.0.13-1.el7.x86_64

首先,我们去官网挑选适合自己的MySQL版本,因为我们用的是CentOS系统,选择一个Redhat的版本。

复制URL,到Linux下找一个要下载的路径,并利用wget工具将MySQL下载到服务器:

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar

解压文件

tar -xvf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar

 当然,也可以在网页上直接下载MySQL文件,然后利用Xftp等工具传到Linux上,具体自行百度。

此外在安装前还有两步,

1、查看是否安装了mariaDB(与mysql有冲突,简单粗暴卸载就完了)

rpm -qa | grep mariadb

卸载mariaDB

rpm -e ***(*** 为软件全名)

如果卸载不了采取强制卸载

rpm -e --nodeps ***(*** 为软件全名)

2、安装依赖包

yum install libaio

接下来就是安装MySQL了。我们利用rpm安装

rpm -vih XXXXXX(XXXXXX 为 rpm包全名)

按照依赖顺序依次安装(能安装的安装就行,像test这个不方便安装就算了。)

      mysql-community-common-8.0.13-1.el7.x86_64

      mysql-community-libs-8.0.13-1.el7.x86_64

      mysql-community-libs-compat-8.0.13-1.el7.x86_64

      mysql-community-client-8.0.13-1.el7.x86_64

      mysql-community-embedded-compat-8.0.13-1.el7.x86_64

      mysql-community-server-8.0.13-1.el7.x86_64

启动mysql服务(忘了从CentOS 哪个版本之后对命令进行了更新)

systemctl start mysqld

初次安装MySQL8以上的版本,MySQL会给我们自动生成一个随机密码。

查看密码

grep 'temporary password' /var/log/mysqld.log

登录服务

mysql -u root -p

使用密码登录,就可以使用MySQL了。

如果觉得使用随机密码不方便,也可以更改密码。

首先使用mysql(系统默认库),因为 mysql 数据库中存储了一张 MySQL 用户的 user 表。

use mysql;
select host, user, authentication_string, plugin from user; 

执行完上面的命令后会显示一个表格

表格中有以下信息:

host: 允许用户登录的 ip ‘位置’ % 表示可以远程;

user: 当前数据库的用户名;

authentication_string: 用户密码(在mysql 5.7.9以后废弃了password字段和password()函数);

plugin: 密码加密方式;

ALTER user '用户名'@'允许用户登录的IP位置' IDENTIFIED BY '你的密码';

这里面这个密码要设置成大写字母、数字、符号的组合。因为MySQL对用户密码做了一定限制,防止密码过于简单,如果个人使用可以修改密码规则,前面右转去问度娘。

上面都完事了,那么MySQL也就装好了,接下来我们配置远程访问。

首先,修改MySQL的访问权限和开放Linux3306端口。

还是到mysql库下,更改允许用户登录的 ip ‘位置’ ,

update user set host = '%' where user = 'root';

改完可以查看一下,

select user,host,plugin,authentication_string from user;

之后会显示用户信息,验证是否更改成功。

然后是添加3306端口。

firewall-cmd --add-port=3306/tcp --permanent 

如果防火墙关闭可以开启防火墙

systemctl start firewalld

重新加载防火墙

firewall-cmd --reload

然后呢,然后就是下载远程工具,连接使用了。远程工具有很多,个人推荐DBeaver,开源的,能连接的库超多,还能连接非关系型数据库和大数据数据库。在官网随便下载一个最新版本的,解压或者安装版都行。

运行DBeaver,新建一个连接,这个时候最新版的好处就来了,我们安装的是MySQL8的版本,MySQL为了安全,修改了默认密码插件,我们之前用的都是caching_sha2_password加密的,但是旧版本远程工具一般都会用mysql_native_password加密密码。(这个位置是个大坑)

我们可以选择MySQL8.X来建立连接,更新驱动,填好服务器ip,库名,用户名,密码,测试通过,就ojbk了。

 

以上都是本人百度后整理的,如果有错误,请私信我或者在下面评论指出,谢谢!!!

你可能感兴趣的:(在CentOS7上搭建MySQL 8.0并实现远程访问)