linux 安装mysql教程
1. 下载mysql(选择适合当前linux版本的mysql)
centOs7.7 64位 ----> mysql-5.7
wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
2. 安装mysql
的repo
源
CentOS 7
的yum
源中默认是没有mysql
的。所以,为了解决这个问题我们首先下载安装mysql
的repo
源。
rpm -ivh mysql57-community-release-el7-7.noarch.rpm
查看/etc/yum.repos.d下有 mysql-community.repo和mysql-community-source.repo两个文件夹
3.安装
linux下安装mysql,会存在依赖关系,所以安装要先安装 mysql-server --> mysql-devel --> mysql
yum install mysql-server
yum install mysql-devel
yum install mysql
rpm -qa|grep -i mysql 查看mysql安装的文件
4. mysql开关
service mysqld status 查看当前MySQL状态
Active: inactive (dead): mysql 未启动
service mysqld start 启动
Active: active (running) :启动状态
service mysqld stop 停止
service mysqld restart 重启
5. 设置开启启动
systemctl enable mysqld
mysql已经安装完了,但是不能远程连接
6.解决mysql无法登录的问题
在/etc/my.cnf文件中添加skip-grant-tables(我放在放在最后)。
skip-grant-tables:跳过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
mysql -u root -p 再输入密码
set password = password('root');
alter user 'root'@'localhost' identified by 'root';
都会报 错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这是密码策略问题;
set global validate_password_policy = 0; 修改密码策略为low或0都可以(验证最低)
set global validate_password_length = 1;修改密码长度为1(验证最低)
再修改密码
任选一条:
alter user 'root'@'localhost' identifed by 'root'; 或 set password = password('root");
mysql 密码策略
show variables like 'validate_password%';
如果你不执行上边set global的两条命令,那么修改密码 必须包含数字,字母包含大小写,标点符号,位数;
关于 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端口(根据自己的要求设置,我的设置仅供参考);
然后在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(命令去上边找);