Linux yum安装Mysql5.7

------------------------------安装-------------------------------
linux 安装mysql 5.7

1.下载MySQL官方的Yum Repository(Mysql5.7)

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2.安装Yum Repository

  yum -y install mysql57-community-release-el7-10.noarch.rpm

3.Yum安装MySQL

   yum install mysql-community-server   --nogpgcheck   --绕过校验 不然会安装报错

启动mysql

1.启动命令  systemctl start mysqld.service
2.重启命令  systemctl restart mysqld.service
3.关闭命令  systemctl stop mysqld.service
4.查看状态  systemctl status mysqld.service

需要密码登录

进入: 
cd /var/log 

输入:
grep "password" /var/log/mysqld.log

找到: 
A temporary password is generated for root@localhost: 密码 找这一行(复制密码)	

		
进入数据库
  mysql -uroot -p  输入复制的密码
   
修改密码规则
  set global validate_password_policy=0; 更改密码规则
	  
  set global validate_password_length=1;
	  
设置成功后,此时密码就可以设置为简单的密码了
  ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
	    
操作完成上面的,现在还不能用可视化的客户端进行连接(如Navicat),需要进行授权(登录进入数据库):
  grant all on *.* to root@'%' identified by '123456';

进入mysql

mysql -u用户名 -p 回车后输入密码

退出
exit 或者 quit 或者 \q

常用命令
mysqladmin -u用户名 -p旧密码 password新密码 用来修改用户密码

   show databases;               显示所有数据库,注意后面的

   use "dataname"            使用数据库 

   select  database();               显示当前连接的数据库

	select version();                  显示当前服务器版本
	
	select now();                       显示当前日期
	
	select user();                      显示当前用户名
 
 -查询数据库所使用的总内存量
   SELECT (sum( DATA_LENGTH )/ 1048576 + sum( INDEX_LENGTH )/ 1048576) as '总内存(单位M)' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名';

方法1: 用SET PASSWORD命令

首先登录MySQL。 
格式:mysql> set password for 用户名@localhost = password('新密码'); 
例子:mysql> set password for root@localhost = password('root123'); 

方法2:用mysqladmin

格式:mysqladmin -u用户名 -p旧密码 password 新密码 
例子:mysqladmin -uroot -p123456 password 123 

方法3:用UPDATE直接编辑user表

首先登录MySQL。 
mysql> use mysql; 
mysql> update user set authentication_string=password("您要修改的密码") where user="root";
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登录

1、登录mysql

mysql -uroot -p

2、先查询都有哪些用户

select host,user from mysql.user;

Linux yum安装Mysql5.7_第1张图片
红色箭头是主管理员,黄色箭头是mysql系统自带的,不要动它。蓝色箭头是子用户,这个是我以前匹配的,现在删掉,我们重新来。

drop user '用户名'@'主机名';
drop user 'wyy'@'192.168.0.105';

3、创建用户

create user '用户名'@'允许那个主机链接' identified by '密码';

create user 'wyy'@'192.168.0.105' identified by 'wyy18222';
只允许192.168.0.105的主机链接

备注:
Mysql8.0 默认采用 caching-sha2-password 加密,有可能旧的客户端不支持,可改为 mysql_native_password;

create user 'test'@'%' identified with mysql_native_password BY '密码';
百分号%;表示任何ip地址都可以链接
create user ‘wyy’@‘192.168.0.105’ identified by ‘wyy18222’;这个是只能192.168.0.105的链接。

5、修改密码

Alter user '用户名'@'主机名' identified by '新密码';
alter user 'wyy'@'192.168.0.105' identified by '123';

6、授权

给用户授权所有权限
grant all privileges on *.* to '用户名'@'主机名' with grant option;

grant all privileges on *.* to 'wyy'@'192.168.0.105' with grant option;
grant:授权、授予
privileges:权限,特权
第一个星号:表示所有数据库
第二个星号:表示所有表
with grant option:表示该用户可以给其他用户赋予权限,但不能超过该用户的权限。这个不加也行。

例如:如果wyy只有select、update权限,没有insert、delete权限,给另一个用户授权时,只能授予它select、update权限,不能授予insert、delete权限。

给用户授权个别权限

all privileges 可换成 select,update,insert,delete,drop,create 等操作

grant select,insert,update,delete on *.* to '用户名'@'主机名';

给用户授权指定权限
给用户授予指定的数据库权限

grant all privileges on 数据库 . * to 'wyy'@'192.168.0.105';

grant all privileges on xrs . * to 'wyy'@'192.168.0.105';

将数据库名为xrs的所有权限赋予wyy
给用户授予指定的表权限

grant all privileges on 数据库 . 指定表名 to 'wyy'@'192.168.0.105';
将某个数据库下的某个表的权限赋予wyy

注意:
网上有的直接创建并赋权:

grant all privileges * . * to ‘要创建的用户’@‘localhost’ identified by ‘自定义密码’;

我在mysql8试了不行(8版本以下还没试过),要先创建用户再进行赋权,不能同时进行

你可能感兴趣的:(linux操作及软件安装,mysql,linux,数据库)