一、在 linux 服务器上安装 mysql 数据库
- 查看 linux 服务器是否安装 mysql
rpm -qa | grep mysql
- 如果有文件,则删除掉
rpm -e 已存在文件
- 下载官方 mysql 包
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
- 安装 mysql 源
yum -y install mysql57-community-release-el7-10.noarch.rpm
- 安装 mysql-community-server
yum -y install mysql-community-server --nogpgcheck
- 启动 mysql 服务
systemctl start mysqld.service
- 查看 mysql 状态
service mysqld status
# 出现:Active: active (running) since Wed 2022-09-28 18:18:24 CST; 6min ago 代表 mysql 在运行
- 查看数据库密码
grep 'password' /var/log/mysqld.log
# 出现:grep: /var/log/mysqld.log: No such file or directory 代表没密码
# 出现:1 [Note] A temporary password is generated for root@localhost: #fkbL8awl7j& 代表已设置密码,且密码为:#fkbL8awl7j&
Cd0Q*U,R0koe
- 进入 mysql(有密码、无密码)
mysql -u root -p
# 无密码直接回车,有初始密码直接输入密码
- 有密码进入 mysql 终端后需要修改密码
# 1. mysql 终端输入
use mysql;
# 结果(需重置密码):ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
# 2. 修改 mysql 密码
alter user 'root'@'localhost' identified by '123456';
# 结果(密码不可太简单,需要设置全局权限):ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
## 3. 修改密码权限
set global validate_password_policy=0;
set global validate_password_length=1;
# 4. 正式修改密码
alter user 'root'@'localhost' identified by '123456';
# 5. 退出 mysql 终端
exit;
- mysql 数据库设置开机自启
systemctl start mysqld 启动服务
systemctl restart mysqld 重启服务
systemctl stop mysqld 停止服务
systemctl enable mysqld 开机自启
systemctl disable mysqld 开机不自启
systemctl list-unit-files | grep mysqld 检查mysqld是否已经安装了开机自动启动
systemctl status mysqld 查看mysqld状态
ps -ef | grep mysqld 查看进程mysqld进程
netstat -antlp | grep mysqld 查看mysqld服务端口
yum remove mysqld yum 卸载mysqld软件包
二、客户端访问 linux 服务器上 mysql 数据库
- 开通 mysql 数据库访问权限
# 1. 登录 mysql 终端
mysql -u root -p
# 2. 使用 mysql 库
use mysql;
# 3. 修改用户访问权限,默认只能 localhost 本机访问,修改 root 用户访问权限不做限制
update user set Host='%' where User='root' mysql;
# 4. 查看结果
select host,user from user;
# 5. 刷新配置,才生效
FLUSH PRIVILEGES
- 开通linux 3306 防火墙
firewall-cmd --list-ports # 查看防火墙所有开放端口,是否存在 3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent # 永久开启防火墙 3306 端口
firewall-cmd --reload # 更新防火墙规则
- 开通服务器安全组
如果是阿里云服务器需要登录 aliyun 官网,在服务器的安全组上新增 3306 端口
三、在 linux 服务器上卸载 mysql
- 查询是否安装 mysql
rpm -qa|grep -i mysql
# 结果:
# mysql-common-8.0.26-1.1.al8.x86_64
# mysql-errmsg-8.0.26-1.1.al8.x86_64
# mysql-server-8.0.26-1.1.al8.x86_64
# mysql57-community-release-el7-10.noarch
# mysql-8.0.26-1.1.al8.x86_64
- 停止 mysql 服务,删除 mysql(全部拷贝粘贴到 linux 终端即可)
rpm -e --nodeps mysql-common-8.0.26-1.1.al8.x86_64
rpm -e --nodeps mysql-errmsg-8.0.26-1.1.al8.x86_64
rpm -e --nodeps mysql-server-8.0.26-1.1.al8.x86_64
rpm -e --nodeps mysql57-community-release-el7-10.noarch
rpm -e --nodeps mysql-8.0.26-1.1.al8.x86_64
- 查找遗留 mysql 文件进行删除
find / -name mysql
# 结果:
# /var/log/mysql
# /var/lib/mysql
# /var/lib/mysql/mysql
# /var/lib/selinux/targeted/active/modules/100/mysql
# /usr/share/bash-completion/completions/mysql
# /usr/share/mysql
# /usr/share/selinux/targeted/default/active/modules/100/mysql
# /usr/share/selinux/packages/mysql
# /usr/lib64/mysql
- 删除查找到的的 MySQL 文件(全部拷贝粘贴到 linux 终端即可)
rm -rf /var/log/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /var/lib/selinux/targeted/active/modules/100/mysql
rm -rf /usr/share/bash-completion/completions/mysql
rm -rf /usr/share/mysql
rm -rf /usr/share/selinux/targeted/default/active/modules/100/mysql
rm -rf /usr/share/selinux/packages/mysql
rm -rf /usr/lib64/mysql 5.检查是否删除成功
rpm -qa|grep -i mysql
四、在 linux 服务器上进行 mysql 免密登录
- 控制台输入
find / -name my.cnf
- 查出 mysql 配置文件位置
find / -name my.cnf
# 结果:/etc/my.cnf
- 暂停 mysql 服务
service mysqld stop
- 进入配置文件
vi /etc/my.cnf
- 在[mysqld]下添加
skip-grant-tables
- 重启 mysql 服务
service mysqld start
- 连接 mysql 免密进入
mysql -u root -p