linux 安装mysql教程

1. 下载mysql(选择适合当前linux版本的mysql)

centOs7.7 64位 ----> mysql-5.7

wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
linux 安装mysql教程

2. 安装mysqlrepo

CentOS 7yum源中默认是没有mysql的。所以,为了解决这个问题我们首先下载安装mysqlrepo源。

rpm -ivh mysql57-community-release-el7-7.noarch.rpm 

linux 安装mysql教程

查看/etc/yum.repos.d下有 mysql-community.repo和mysql-community-source.repo两个文件夹

3.安装

linux下安装mysql,会存在依赖关系,所以安装要先安装 mysql-server --> mysql-devel --> mysql

yum install mysql-server

linux 安装mysql教程

 yum install mysql-devellinux 安装mysql教程

yum install mysql

linux 安装mysql教程

rpm -qa|grep -i mysql 查看mysql安装的文件

linux 安装mysql教程

4. mysql开关

service mysqld status 查看当前MySQL状态

linux 安装mysql教程

 Active: inactive (dead):  mysql 未启动

service mysqld start  启动

linux 安装mysql教程

Active: active (running) :启动状态

service mysqld stop  停止

linux 安装mysql教程

service mysqld restart     重启 

linux 安装mysql教程

5. 设置开启启动

systemctl enable mysqld

linux 安装mysql教程

mysql已经安装完了,但是不能远程连接

6.解决mysql无法登录的问题

 在/etc/my.cnf文件中添加skip-grant-tables(我放在放在最后)。

skip-grant-tables:跳过mysql的用户验证

linux 安装mysql教程

重启数据库生效

linux 安装mysql教程

一般不用这个方法;

7. 设置登录密码

因为刚安装好mysql没有设置密码,所以不管你怎么连接mysql,都说密码不对。有两种解决方案:

(1)  利用第6条方式进入mysql

(2)  此方法只是用与centos,先找到 /var/log/mysql.log日志,然后在mysql.log日志中找到  A temporary password is generated for [email protected]: <soIG6d!OW!P

此时初始密码为:<soIG6d!OW!P

linux 安装mysql教程

linux 安装mysql教程

mysql -u root -p 再输入密码

linux 安装mysql教程

set password = password('root');

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

都会报 错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这是密码策略问题;

linux 安装mysql教程

set global validate_password_policy = 0;  修改密码策略为low或0都可以(验证最低)

set global validate_password_length = 1;修改密码长度为1(验证最低)

linux 安装mysql教程

再修改密码

任选一条:

alter user 'root'@'localhost' identifed by 'root'; 或   set password = password('root");

linux 安装mysql教程linux 安装mysql教程

 

mysql 密码策略

show variables like 'validate_password%';

如果你不执行上边set global的两条命令,那么修改密码 必须包含数字,字母包含大小写,标点符号,位数;

linux 安装mysql教程

关于 mysql 密码策略相关参数;
1)、validate_password_length  固定密码的总长度;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_mixed_case_count  整个密码中至少要包含大/小写字母的总个数;
4)、validate_password_number_count  整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
 

设置好密码后,还是无法远程连接数据库;

8. 解决远程客户端无法连接数据库问题

我用的阿里云服务器:首先需要开通3306端口(根据自己的要求设置,我的设置仅供参考);

linux 安装mysql教程

然后在mysql数据库中执行 

mysql -u root -p    用有权限用户root登录

use mysql;      选择mysql库

select host,user from user;    查看mysql库中user表的host值(可进行连接访问的主机/IP名称)

update user set host = '%' where user = 'root';   修改host值(%是匹配所有host的主机的),也可以直接增加IP地址

flush privileges;   刷新mysql的系统权限相关表

四条命令;

9.重启mysql(命令去上边找);