菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
274
0

CentOS7安装MySQL

原创
05/13 14:22
阅读数 23533

1,下载 Yum 资源包(仓库),下载地址为:https://dev.mysql.com/downloads/repo/yum/

 

得到链接地址(我这个是):https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm

然后执行

wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm

在执行命令的当前目录中会得到mysql80-community-release-el8-1.noarch.rpm的资源包(仓库)

2,安装资源包(仓库)

sudo yum install mysql80-community-release-el8-1.noarch.rpm -y

3,查看资源包(仓库)

4,安装

sudo yum install mysql-community-server -y

该命令默认执行安装8.0版本的mysql,我这里需要的是5.7版本的,所以先修改配置文件,使得安装的版本为5.7.

sudo vim /etc/yum.repos.d/mysql-community.repo

找到[mysql80-community],把enabled=1改成enabled=0

然后新增配置命令

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

保存退出

然后再执行上面的安装命令

 

5,启动

sudo systemctl start mysqld

查看进程

ps -aux|grep mysql

查看版本

mysql --version

 

6,链接数据库

各个Linux系统连接数据库的语法都一样

mysql -hloaclhost -uroot -P3306 -p123456
  1. -h: host(IP地址) localhost = 127.0.0.1

  2. -u: username(用户账号)

  3. -p: password(密码)

  4. -P: port(端口,默认3306)

在其他版本的LInux里,root用户的默认密码是空,可以不使用密码直接登录。但是在CentOS7里,mysql安装完成以后,会生成一个临时密码。我们需要通过命令查看这个默认密码。

sudo cat /var/log/mysqld.log |grep password

执行

mysql -uroot -p

临时密码登录,无法操作数据库

需要修改root密码

7,修改ROOT密码

命令:alter user root@localhost identified with mysql_native_password by '你的密码';

alter user root@localhost identified with mysql_native_password by 'AbHc123!';

注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位

修改完后输入exit;退出数据库

然后重新登陆就可以操作数据库了

 

8,常用操作

  1. 创建账号,授予权限

    • 8.0之前的版本

      GRANT ALL PRIVILEGES ON *.* TO '用户名'@'主机名' IDENTIFIED BY "密码" WITH GRANT OPTION;

      flush privileges;   --刷新使授权生效

      命令解释:
      GRANT:授予  

      ALL PRIVILEGES:所有的权限(也可以选择指定权限)--select,insert,update,delete,drop,index,alter,grant,references,reload,shutdown,process,file。在这十四个权限中选择

      主机名:表示允许用户从哪个主机登录,%表示允许从任意主机登录,

      *.*:允许操作的数据库和表,星号.星号就是所有数据里的所有表

      WITH GRANT OPTION:允许它的权限向下传递
    • 8.0之后的版本

      CREATE USER '用户名'@'主机名' IDENTIFIED BY ‘密码’;    ---------创建账户

      CRANT ALL ON *.* TO '用户名'@'主机名' WITH GRANT OPTION; -----------授权
    • 创建一个用户,允许个该用户通过主机远程登录,在用上面命令创建一个允许任意主机登录的账号后,如

      GRANT ALL PRIVILEGES ON *.* TO 'dark'@'%' IDENTIFIED BY "123456" WITH GRANT OPTION;

      flush privileges;
    • 还要修改mysql配置文件允许远程连接:

      # 注意:不同 mysql 版本此配置文件位置和名字可能不同
      sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf # ubuntu18.04
      sudo vim /etc/my.cnf # CentOS7

      # 然后找到将bind-address = 127.0.0.1注销 #如果有的话
      #bind-address           = 127.0.0.1 #这段代码的功能是只允许本机登录

      此时一般就可以在其他主机上使用客户端连接mysql数据库了
      sudo mysql -u用户名 -h 远端服务器地址 -P3306 -p

      设置完后,如果还是不能远程连接,检查一下要服务器的3306端口是否已经打开(可以百度一下如何查看端口,并打开)
  2. 修改密码

    update user set authentication_string=password('你的密码') where user="root"
    或者
    alter user ‘用户名’@'主机名' identified with mysql_native_password by '你的密码';

    alter对密码有安全规范要求,不能设置简单密码(大小写,数字,字符,无序)

    update不做限制

  3. 查看权限

    show grants;  ---查看当前用户的权限
    show grants for 'abc'@'localhost'; ---查看用户abc的权限
  4. 回收权限

    revoke all privileges on *.* from 'abc'@localhost';   --回收用户abc的所有权限
    revoke grant option on *.* from 'abc'@localhost';   --回收权限的传递
  5. 删除用户

    use mysql;
    select host, user from user;
    drop user 用户名@'%';

     

第三方工具:mycli

  1. 安装:sudo pip3 install mycil ubuntu可以直接使用 sudo apt update sudo apt install mycli

  2. 安装好后连接数据库:mycil -uroot

  3. 设置回车可以换行:vim ~/.myclirc 把里面的multi_line = False 改成 multi_line = True

发表评论

0/200
274 点赞
0 评论
收藏