本系列文章用于记录linux常用操作(centos7),供大家学习使用!
一、下载mysql源安装包
图中是最新的rpm文件,但是我要使用的是mysql7
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
二、安装mysql源
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
三、mysql安装
yum install mysql-server
中间有个小插曲,安装时提醒我IS THIS OK?我给退出了。后来再安装就提示yum被占用。
使用如下命令杀掉yum进程
ps aux|grep yum
kill -9 pid =>pid是你的yum进程pid
四、MySQL相关操作
# 启动
systemctl start mysqld
# 停止
systemctl stop mysqld
# 重启
systemctl restart mysqld
# 查看MySQL的启动状态
systemctl status mysqld
# 开机启动
systemctl enable mysqld
systemctl daemon-reload
五、登录mysql
mysql -uroot -p
报错:Please read “Security” section of the manual to find out how to run mysqld as root!
后来了解到:mysqld默认拒绝用户使用root帐户启动,但root用户可以通过在命令后面加上"–user=root"选项来强行启动mysqld。
5.1 查找临时密码
grep 'temporary password' /var/log/mysqld.log
5.2 输入密码,登录被拒绝
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
尊重原创,以下操作来源:Linux公社
#关闭mysqld服务
systemctl stop mysqld
#启动mysql服务时,跳过权限认证表
systemctl set-environment MYSQLD_OPTS="--user=mysql --skip-grant-tables --skip-networking"
#启动
systemctl start mysqld
#登录,不需要再输密码
mysql -u root mysql
#修改密码,user表中password列已经更改为authentication_string
mysql > UPDATE mysql.user SET authentication_string=PASSWORD("abcdef") WHERE user='root' and host='localhost';
#不重启mysql服务也可以直接生效。
flush privileges
#退出
quit
#设置正常
systemctl unset-environment MYSQLD_OPTS
#重启ok
systemctl restart mysqld
5.3 简单查询报错
报错信息提示:需要重置密码
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
5.4 重置密码
# 1.上面有用到下面重置密码。现在mysql不建议这么使用
UPDATE mysql.user SET authentication_string=PASSWORD("test") WHERE user='root' and host='localhost';
# 2.使用alter
ALTER USER USER() IDENTIFIED BY 'test';
重置密码报错,报错信息如下:密码太简单
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
5.5 修改密码检查策略
1.查看当前策略
show variables like '%password%';
以下来源:Linux公社
validate_password_policy:密码策略,默认为MEDIUM策略
validate_password_dictionary_file:密码策略文件,策略为STRONG才需要
validate_password_length:密码最少长度
validate_password_mixed_case_count:大小写字符长度,至少1个
validate_password_number_count :数字至少1个
validate_password_special_char_count:特殊字符至少1个
# 密码长度
set global validate_password_length=6;
# 策略等级
set global validate_password_policy=0;
测试成功!
六、远程连接
1.使用navicat for mysql
结果访问被拒绝。没有权限。、
2.设置远程连接权限
grant all privileges on *.* to 'root'@'%' identified by 'pwd' with grant option;
#指定ip
grant all privileges on *.* to 'root'@'%192.168.1.1' identified by 'pwd' with grant option;
总结
至此,mysql7配置完毕,继续加油!