centos7.6 安装mysql

背景 : 使用centos7.6安装mysql

  在centos7中已经将mysql从yum应用列表中移除,并使用mariadb代替,所以直接通过yum install mysql-server安装时会提示没有可用软件包mysql-server。在centos7中安装mysql需要重新添加mysql的存储库。本文参考官方文档:https://dev.mysql.com/doc/ref...

  1. 添加mysql yum的存储库

首先要将mysql yum存储库添加到yum源目录中/etc/yum.repos.d/,不需要手动添加。按照以下步骤来即可。

①获取下载连接,在这个页面中找到最新的下载连接。 https://dev.mysql.com/downloa... 不要下载错版本啦(可看下边图片)。不知道可以通过命令查看 uname -a

② 安装下载的rpm包,这一步会自动将mysql yum存储库添加到yum源目录中

wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

yum localinstall mysql80-community-release-el7-1.noarch.rpm

# 经过上边两个步骤后可以发现 /etc/yum.repos.d/ 目录下多了两个文件
# mysql-community.repo   mysql-community-source.repo

centos7.6 安装mysql_第1张图片

centos7.6 安装mysql_第2张图片

  1. 安装mysql

经过上边的步骤后就可以直接安装mysql了

1)选择mysql的版本,安装最新版请忽略这一步。我选的mysql5.7,最新的8.0

vi 修改 /etc/yum.repos.d/mysql-community.repo 文件,选择想要安装的版本将 enabled=1,将其它版本改为enabled=0,如下图

centos7.6 安装mysql_第3张图片

2) 安装mysql

yum install mysql-community-server

centos7.6 安装mysql_第4张图片

3)启动mysqld服务,启动服务后查看服务的状态,

systemctl start mysqld

4)查看密码,安装后会有一个初始密码,在mysql日记文件中,/var/log/mysqld.log,如下,

[root@centosb local]# grep 'temporary password' /var/log/mysqld.log
2021-11-30T06:49:24.455509Z 1 [Note] A temporary password is generated for root@localhost: %BufAZ.CW7qQ

5)修改密码,以数据库root用户登录mysql,修改密码,一定要修改密码,不修改无法对数据库进行操作。实现的默认密码策略validate_password要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。修改密码后刷新权限表

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'abcdABCD-1';  # 修改密码
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;

  1. 设置编码为utf-8
    show variables like "%character%";show variables like "%collation%";
Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/

8 rows in set (0.01 sec)

Variable_name Value
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server utf8_general_ci

3 rows in set (0.00 sec)

2)在 /etc/my.cnf 文件中的 [mysqld] 标签下添加

character-set-server=utf8
collation-server=utf8_general_ci

3)重启mysqld服务 systemctl restart mysqld

  1. 允许远程登录

1)关闭防火墙

① 关闭防火墙 systemctl stop firewalld
② 在不关闭防火墙的情况下,允许某端口的外来链接。步骤如下,开启3306端口,重启防火墙

firewall-cmd --query-port=3306/tcp  # 查看3306端口是否开启

firewall-cmd --zone=public --add-port=3306/tcp --permanent  # 开启3306端口

firewall-cmd --reload  # 重启防火墙

firewall-cmd --query-port=3306/tcp  # 查看3306端口是否开启

2)先查看mysql数据库中的user表

use mysql;

select host, user from user;
host user
127.0.0.1 root
::1 root
localhost root
update user set host='%' where host='localhost';

flush privileges;

4)刷新权限表,或重启mariadb服务,一下二选一即可

你可能感兴趣的:(linuxyumcentos7)