卸载MySQL
一、查看当前安装mysql情况,查找以前是否装有mysql
rpm -qa|grep -i mysql
二、删除MySQL包:rpm -ev 包名
rpm -ev mysql-community-common-8.0.25-1.el7.x86_64
- 提示依赖包错误
用以下命令:rpm -ev 包名 --nodeps
rpm -ev mysql-community-common-8.0.25-1.el7.x86_64 --nodeps
2.如果提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1
以下命令尝试:
rpm -e --noscripts 包名
三、根据名称查找文件夹
find / -name mysql //根据名称
- 附加查找命令
find /root/ -name "*.txt" //以/root/目录下以文件名搜索以.txt结尾的文件,*号表示所有该类型的文件
find ./ -type f -name "*.txt" | xargs grep "test" //从当前目录开始查找所有扩展名为.txt的文本文件,并找出包含"test"的行
删除:rm -rf 路径
- 删除配置文件:/etc/my.cnf
rm -rf /etc/my.cnf
**!重复检查,老夫只卸载这一次,也只会安装这一次,老天保佑,别再出错!**
安装MySQL
Ctrl+L //清屏
watch –n 3 ls –l //watch指令可以间歇性的执行程序,3秒执行一次,不掉线,哟西~~
- /usr/local下载MySQL8
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
- 若无wget?安排:
yum -y install wget wget
- 安装,更新,编译
yum localinstall mysql80-community-release-el7-1.noarch.rpm
yum clean all
yum makecache
centos8报错:
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
问题解决:Failed to
download metadata for repo ‘appstream‘: Cannot prepare internal
mirrorlist:…
- 创建Mysql账户,分组
groupadd mysql
useradd -g mysql mysql
-
分组已存在:groupadd: group ‘mysql’ already exists
-
存在及合理,删!:groupdel mysql
-
哟,太合理了,删不掉!:罢了
- 安装mysql
yum install mysql-community-server
- 后台启动
**
ps
**:
安装后一直没有上服务,今天2021.6.26发现又有表名大小写的问题!!!,气煞我也,这是第28次了!!!
查看mysql配置,编辑vim /etc/my.cnf,添加:lower_case_table_names=1,
如果还是区分,停止mysql,删除:rm -rf /var/lib/mysql,删除数据库,重新启动 ,跳过密码:skip-grant-tables
然后访问一直很慢,百度说修改 /etc/my.cnf,添加配置skip-name-resolve
[mysqld]
skip-name-resolve
systemctl start mysqld
- 查看日志包含password
cat /var/log/mysqld.log | grep password
7. 登录,输入密码
mysql -u root -p
- 修改密码(第一次修改密码一定要大小写字母+数字+符号,且有长度限制8),后面再更改密码策略
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Hzllll123?';
- 远程设置,设置所有地址连接
use mysql;
update user set host='%' where user='root';
10.刷新权限
FLUSH PRIVILEGES;
- 测试一波
- 连不上,密码问题?
- 直接远程连接
mysql -h IP地址 -P 3306 -u root -p密码
11.允许任何主机访问数据库
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
安装成功,别忘了:FLUSH PRIVILEGES;
- 指定用户admin操作的操作库权限
update user set host='%' where user='admin'; //
grant all privileges on test.* to admin@'%' //
- 指定用户的连接权限
//允许szx用户使用oH!DytmzSa!^7dgf密码从任何主机连接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'szx'@'%'IDENTIFIED BY 'oH!DytmzSa!^7dgf' WITH GRANT OPTION;
//允许用户szx从ip为192.168.1.1的主机连接到mysql服务器,并使用oH!DytmzSa!^7dgf作为密码
GRANT ALL PRIVILEGES ON *.* TO 'szx'@'192.168.1.1'IDENTIFIED BY 'oH!DytmzSa!^7dgf' WITH GRANT OPTION;
修改MySQL密码策略(可选)
- 查看 mysql 初始的密码策略
SHOW VARIABLES LIKE 'validate_password%';
- 设置密码强度等级
set global validate_password.policy = 'LOW';//最低
- 设置密码长度等等,8个正好,一般人不会想到我的密码是12345678,只会输123456
set validate_password.length = '6';
- 设置密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '12345678';
- 刷新一下吧,都这么晚了
FLUSH PRIVILEGES;