目录
前言
安装mysql可以通过yum源和压缩包两种方式安装,压缩包安装的mysql通常使用的是旧的 SysVinit 脚本,使用命令如:service mysql start。如果想要交给服务器的任务管理器管理需要进行额外配置,配置中可能会出现一些问题,推荐使用yum源安装,下面将使用yum源安装mysql的过程。
删除已安装的mysql
1,关闭mysql服务
systemctl stop mysqld
2,卸载以前安装的mysql
# 查看安装的mysql
rpm -qa | grep -i mysql
# 如果有返回值就删除
rpm -ev 复制上个命令返回的结果
# 如果命令报错就加上 --nodeps
rpm -ev --nodeps
3,删除mysql相关目录
# 获取mysql相关目录
find / -name mysql
# 删除所有相关目录,-rf:表示不询问直接删除文件
rm -rf 目录
4,删除my.cnf文件
rm -rf /etc/my.cnf
my.cnf一般在/etc 目录下,也可以通过命令查找
find / -name my.cnf
5,如果以前设置了mysql的环境变量需要删除环境变量
vim /etc/profile
# 删除环境变量后,刷新环境
source /etc/profile
6,查看是否卸载干净,如果没有返回值表示卸载干净了
rpm -qa|grep -i mysql
通过yum源安装mysql
1,添加rpm包
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
2,下载的 rpm 文件
yum install mysql80-community-release-el8-1.noarch.rpm -y
3,安装mysql服务
yum install mysql-server --nogpgcheck -y
4,启动mysql
systemctl start mysqld
# 查看mysql服务状态
systemctl status mysqld
5,获取初始密码
# 日志文件默认路径为:/var/log/mysql/mysqld.log,
grep 'temporary password' /var/log/mysql/mysqld.log
# 如果路径错误,可以查看mysqld.log 路径
find / -name mysqld.log
注意:如果什么都没有返回则表示生成空密码,填密码时直接回车
图中红色部分为初始密码
6,登录mysql
# 回车后粘贴密码,再回车进入mysql
mysql -uroot -p
7,修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
如果报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
表示你的密码不满足默认的密码策略:
1,至少包含 1 位大小写
2,至少包含 1 位数字
3,包含 1 个特殊符号
4,必须 8 位及以上
重新设置满足策略的密码
# 设置密码后刷新环境
FLUSH PRIVILEGES;
8,修改密码策略,如果觉得密码太复杂可以修改策略
查看策略
SHOW VARIABLES LIKE 'validate_password%';
validate_password.policy:密码策略,默认为MEDIUM。
其他策略:
LOW:只验证长度;
MEDIUM:验证长度、数字、大小写、特殊字符;默认值。
STRONG:验证长度、数字、大小写、特殊字符、字典文件;
修改策略
# 修改策略为: LOW
SET GLOBAL validate_password.policy = LOW;# 如果不修改策略可修改策略的某项,如修改特殊字符为:0 ,其他属性修改同下。
SET GLOBAL validate_password.special_char_count = 0;# 再修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';# 刷新
FLUSH PRIVILEGES;
9,配置远程连接
# 查看数据库
show databases;# 使用mysql数据库
use mysql;# 设置其他ip也能访问,localhost:表示只能本地访问,%:表示使用情况都能访问,也可指定ip 服务。
update user set host='%' where user='root';# 刷新
FLUSH PRIVILEGES;# 退出mysql
exit
10,开放防火墙端口,如果不使用防火墙直接跳过
# 查看防火墙状态
systemctl status firewalld
# 开启防火墙
systemctl start firewalld
# 开放 3306 端口,返回success 表示成功
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 刷新防火墙,返回success 表示成功
firewall-cmd --reload
# 查看是否开启成功,返回 yes 为成功
firewall-cmd --zone=public --query-port=3306/tcp# 查看使用开放的端口
firewall-cmd --zone=public --list-ports
如果是云服务器,需要在安全组中添加规则开放端口
至此mysql已安装完成啦,可以使用远程工具连接测试了。
11,常用命令
# 启动mysql
systemctl start mysqld
# 关闭mysql
systemctl stop mysqld
# 重启mysql
systemctl restart mysqld
# 设置mysql 随服务器开机自启动
systemctl enable mysqld
# 查看mysql 进程
ps -ef | grep mysql
# 杀死进程,-9:表示强制删除
kill -9 进程ID
# 查看安装的mysql
rpm -qa | grep mysql
有帮助就点个赞吧