CentOS安装MySql8
文章目录
本文将详细记述在CentOS7.6上安装MySql8.0的详细过程。本文是本人总结各种教程自己摸索出的安装过程,正所谓站在巨人的肩膀上。Linux系统有多重安装软件的方法,我这里只介绍YUM安装。我认为软件就是拿来用的,安装上就好,至于如何安装,就没必要搞那么复杂了,怎么方便怎么来吧–包管理器走起。
检查Linux系统是否已经安装MariaDB
CentOS系统中默认安装的数据库是MariaDB,所以先检查MariaDB:
|
|
如果不存在(上面检查结果返回空)则跳过步骤,如果存在则删除:
|
|
检查Linux系统是否已经安装MySql
|
|
如果已经安装,则卸载,未安装跳过。删除:
|
|
安装MySql
下载mysql的repo源并安装
Yum源中默认的数据库安装包是MariaDB,也就是说在CentOS 7及以上的系统中使用yum安装MySQL默认安装的会是MariaDB。如果要安装官方MySql,则需要到官网下载下载mysql的repo源。
|
|
检查是否安装成功
执行成功后会在/etc/yum.repos.d/
目录下生成两个repo文件mysql-community.repo
及 mysql-community-source.repo
并且通过yum repolist
可以看到mysql相关资源
|
|
选择想要安装的MySql版本进行安装(会有多个版本的情况)
|
|
如果同时启用了多个仓库,安装时会选择最新版本,我这里安装的是8.0社区版
安装过程耐心等待…
这里要特别说明下:安装MySql数据库时,编码模式一定选择utf8mb4,为什么?
MySql中的UTF8并不是我们传统意义上的UTF8(最大4字节,数字,字母,符号1字节,中文3字节这样),而是最大3字节,这就导致在存储特定数据是会出现insert失败的情况,比如emoji表情,它需要4个字节去存储,但是如果MySql的字符集设置的utf8,就会出现insert失败的情况。为了解决类似这种问题,官方才在之后引入了utf8mb4的编码。所以utf8mb4才是真正意义上的utf8编码。
启动MySQL
安装完毕我,启动MySql,并查看运行状态:
|
|
####重置密码
安装完成后,没有密码,需要重置密码。
MySql安装完成后,会在/var/log/mysqld.log
中生成临时密码,在第一次登陆MySql时可以使用该密码登陆,打开文件搜索temporary password
即可:
|
|
登陆MySql
|
|
输入临时密码,回车,成功进入mysql环境。
修改默认密码
|
|
创建用于MySql的用户
在创建用户并赋予权限是会遇到如下问题:
|
|
ERROR 1410 (42000): You are not allowed to create a user with GRANT
遇到以上问题是,因为MySql8中已经不允许分配权限的同时带密码隐式创建账号了,需要先创建用户,在设置权限。
|
|
完成后到user表中确认结果:
|
|
此时就创建了一个可以用于远程访问的用户user1
,Host
中的%
是指任何主机
测试远程连接
我用的客户端叫heidisql
(官网),该有的功能都用,用起来很轻便,感兴趣的同学可以下来试试。
在测试连接时遇到两个错误:
-
第一错误是连接不上,总是提示无法连接、访问被拒绝。出现该问题的原因大概率是防火墙没有添加mysql默认端口的规则导致的
1 2 3 4 5 6 7
#查看firewalld状态:systemctl status firewalld [root@VM-16-16-centos ~]#systemctl status firewalld #如果是dead的状态,则开启防火墙 [root@VM-16-16-centos ~]#systemctl start firewalld #再次确认firewalld状态,active(running)就表示开启了 #开放默认端口号 3306,出现success表示成功 [root@VM-16-16-centos ~]#firewall-cmd --permanent --zone=public --add-port=3306/tcp
-
配置完成后,再次连接数据库,试试不支持认证协议,此时就要修改加密方式:
1
mysql>alter user user1 identified with mysql_native_password by '123456';
确认:
1 2 3 4 5 6 7 8 9 10
mysql> select Host, User, plugin from user; +-----------+------------------+-----------------------+ | Host | User | plugin | +-----------+------------------+-----------------------+ | % | user1 | mysql_native_password | | localhost | mysql.infoschema | caching_sha2_password | | localhost | mysql.session | caching_sha2_password | | localhost | mysql.sys | caching_sha2_password | | localhost | root | caching_sha2_password | +-----------+------------------+-----------------------+
user1
的plugin
为mysql_native_password
,设置成功,此时再次使用客户端连接数据,连接成功。
设置开机启动
|
|
以上就是本次安装MySql的全部内容