1、配置YUM源
在MySQL官网中下载YUM源rpm安装包:https://dev.mysql.com/downloads/repo/yum/
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安装mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
检查mysql源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
2、安装MySQL
yum install mysql-community-server
3、启动MySQL服务
systemctl start mysqld
4、开机启动
systemctl enable mysqld
systemctl daemon-reload
5、修改root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
set password for 'root'@'localhost'=password('password!');
6、允许远程连接
grant all on *.* to root@'%' identified by 'password' with grant option;
flush privileges;
卸载
采用yum安装mysql后,如果想要完全卸载mysql,可以采用如下方式:
1、查看mysql安装了哪些东西
rpm -qa |grep -i mysql
2、开始卸载
yum remove mysql-community-common-5.7.20-1.el7.x86_64
yum remove mysql-community-client-5.7.20-1.el7.x86_64
yum remove mysql57-community-release-el7-11.noarch
yum remove mysql-community-libs-5.7.20-1.el7.x86_64
yum removemysql-community-server-5.7.20-1.el7.x86_64
3、查看是否卸载完成
4、查找mysql相关目录
find / -name mysql
5、删除相关目录
rm -rf
6、删除/etc/my.cnf
rm -rf /etc/my.cnf
7、删除/var/log/mysqld.log(如果不删除这个文件,会导致新安装的mysql无法生存新密码,导致无法登陆)
rm -rf /var/log/mysqld.log
mysql错误:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement解决方法
Mysql关系型数据库管理系统
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
本文为大家讲解的是mysql错误:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement解决方法,感兴趣的同学参考下。
错误描述:
mysql> grant all on cactidb.* to dbuser@'localhost' identified by '123';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
解决方法:
先刷新一下权限表。
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> grant all on cactidb.* to dbuser@'localhost' identified by '123';
Query OK, 0 rows affected (0.00 sec)
MySQL修改密码
第一种方式:
最简单的方法就是借助第三方工具Navicat for MySQL来修改,方法如下:
1、登录mysql到指定库,如:登录到test库。
2、然后点击上方“用户”按钮。
3、选择要更改的用户名,然后点击上方的“编辑用户”按钮。
4、出现如图界面,输入新密码,并确认新密码,点击“保存”按钮即可。
第二种方式:
方法1: 用SET PASSWORD命令
首先登录MySQL。
格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑user表
首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;
方法4:在忘记root密码的时候,可以这样
以windows为例:
1. 关闭正在运行的MySQL服务。
2. 打开DOS窗口,转到mysql\bin目录。
3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。
6. 连接权限数据库: use mysql; 。
6. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。
7. 刷新权限(必须步骤):flush privileges; 。
8. 退出 quit。
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。
第三种方式:
-
打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址
-
2
打开cmd命令提示符,进入上一步mysql.exe所在的文件夹。
-
3
输入命令 mysqld --skip-grant-tables 回车,此时就跳过了mysql的用户验证。注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的命令行。注意:在输入此命令之前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行。
-
4
然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库。
-
5
输入show databases; 可以看到所有数据库说明成功登陆。
-
6
其中mysql库就是保存用户名的地方。输入 use mysql; 选择mysql数据库。
-
7
show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。
-
8
输入select user,host,password from user; 来查看账户信息。
-
9
更改root密码,输入update user set password=password('123456') where user='root' and host='localhost';
-
10
再次查看账户信息,select user,host,password from user; 可以看到密码已被修改。
-
11
退出命令行,重启mysql数据库,用新密码尝试登录。
-
12
测试不带密码登录mysql,发现还是能够登陆上,但显示数据库时只能看到两个数据库了,说明重启之后跳过密码验证已经被取消了。
-
13
我这地方重启数据库之后之所以不带密码任然能够登录是因为我的数据库里存在设无须口令的账户。
END