共计 2356 个字符,预计需要花费 6 分钟才能阅读完成。
背景
: 应用 centos7.6 装置 mysql
在 centos7 中曾经将 mysql 从 yum 利用列表中移除,并应用 mariadb 代替,所以间接通过 yum install mysql-server 装置时会提醒没有可用软件包 mysql-server。在 centos7 中装置 mysql 须要从新增加 mysql 的存储库。本文参考官网文档:https://dev.mysql.com/doc/ref…
- 增加 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
- 装置 mysql
通过上边的步骤后就能够间接装置 mysql 了
1)抉择 mysql 的版本,装置最新版请疏忽这一步。我选的 mysql5.7,最新的 8.0
vi 批改 /etc/yum.repos.d/mysql-community.repo 文件,抉择想要装置的版本将 enabled=1,将其它版本改为 enabled=0,如下图
2)装置 mysql
yum install mysql-community-server
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;
- 设置编码为 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)敞开防火墙
① 敞开防火墙 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 服务,一下二选一即可