Centos 7 安装 mysql 8.0.18 .

Centos 7 安装 mysql 8.0.18 .

一、安装环境

1. 系统

CentOS 7


cat /proc/version
Linux version 3.10.0-1062.1.2.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Mon Sep 30 14:19:46 UTC 2019

二、安装前置软件

# 先安装一个包管理器。
yum install rpm -y
# 查看是否安装有 mysql,CentOS 6 会有这个。
rpm -qa|grep mysql
# 查看是否安装有 mariadb,CentOS 7 会有这个。
rpm -qa|grep mariadb
# 卸载
rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
# mariadb-libs-5.5.64-1.el7.x86_64 是上面查询出来的。

三、安装 Mysql

1. 下载

mysql 下载地址
在这里插入图片描述

2. 上传到 linux 系统

用任意 FTP 软件上传即可。
或者直接在 linux 上用 wget 下载软件。

如果下载 tar.xz 后缀的,先解压。
xz -d mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
如果下载 tar 后缀,那么直接解归档。
tar -xvf mysql-8.0.18-linux-glibc2.12-x86_64.tar

3. 创建一个 mysql 用户组和 mysql 用户。

# 创建一个用户组
groupadd mysql
# 将 mysql 用户添加到 mysql用户组。
useradd -g mysql mysql
# ps: 在 mysql 8 中,不推荐用root 用户启动 mysql 服务。 如果后面用 root 用户初始化服务,会报错无法启动。
# 添加用户:useradd -m -g 组 新建用户名            
# 注意:-m 自动建立用户家目录; -g 指定用户所在的组,否则会建立一个和用户名同名的组。

4. 初始化 Mysql 服务

cd /usr/local/mysql/bin/

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data

2021-01-18T15:58:01.873110Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.18) initializing of server in progress as process 6120
2021-01-18T15:58:05.790880Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: d=k()XY>Z1?M

# 先创建一个目录
cd /usr/local/mysql
# 将配置文件 copy 一份到安装的地方。
cp support-files/mysql.server /etc/init.d/mysql
# 编辑一下配置文件
vim /etc/my.cnf

将下面的 配置放到 文件中。

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=2000
# 允许连接失败的次数。
max_connect_errors=100
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 设置时区为东八区
default-time-zone='+08:00'
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
# mysql_native_password  可以使用8.0新版认证模式,注销下面一行,如果使用5.7认证方式,不注销
# default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4

[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

5. 启动 mysql 服务

systemctl start mysql

查看 mysql 是否启动成功

systemctl status mysql

在这里插入代码片

6. 修改一个自己的密码

alter user 'root'@'localhost' identified by '123456';

四、配置远程访问

我们一般不在命令行操作数据库,而是用 ide 远程连接 mysql。 那么我们要配置远程访问账户的权限。

# 选择内置数据库。
mysql> use mysql;
# 查看所有用户的权限和访问地址的限制。
mysql> select host, user, authentication_string, plugin from user;
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| host      | user             | authentication_string                                                  | plugin                |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | root             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              | mysql_native_password |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
# 创建一个任意 ip 都可以访问的 root 用户。
create user 'root'@'%' identified by '123456';
# 再查看一下。

mysql> select host, user, authentication_string, plugin from user;
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| host      | user             | authentication_string                                                  | plugin                |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| %         | root             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              | mysql_native_password |
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | root             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              | mysql_native_password |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+

在命令行本地测试一下是否可以连接

mysql -h your-ip -uroot -p
# 输入你的密码

# 看一下版本。
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.18    |
+-----------+
1 row in set (0.00 sec)

用 DataGrip 测试。

用 ide 连接 mysql 报下面异常
[08S01]
	Communications link failure

	The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
NotBefore: Mon Jan 18 15:58:05 UTC 2021.

连接的 url 加上 ?useSSL=false 就可以了。

PS :注意mysql 5 和 mysql 8 的驱动是不同的。注意区分驱动的版本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值