MySQL其他篇

目录:

参考网站

1.1 MySQL安装与基本配置(centos 7.3)返回顶部

  安装参考网址:https://www.cnblogs.com/jorzy/p/8455519.html

  1、查看系统中是否已安装 MySQL 服务:以下提供两种方式

      rpm -qa | grep mysql

      yum list installed | grep mysql

  2、如果已安装则删除 MySQL 及其依赖的包

      yum -y remove mysql-libs.x86_64

  3、下载 mysql57-community-release-el7-8.noarch.rpm 的 YUM 源

      wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

  4、安装 mysql57-community-release-el7-8.noarch.rpm

      rpm -ivh mysql57-community-release-el7-8.noarch.rpm     

      安装完后,得到如下两个包:

      mysql-community.repo
      mysql-community-source.repo

  5、安装 MySQL,出现提示的话,一路 Y 到底

      yum install mysql-server

  6、安装mysql所需的库和包含文件

      yum -y install mysql-devel

  7、获取mysql初始密码

      service mysqld start
      grep "password" /var/log/mysqld.log

  8、mysql管理常用命令

      systemctl status mysqld
      systemctl start mysqld
      systemctl stop mysqld

  9、开机启动

      systemctl enable mysqld
      systemctl daemon-reload

  10、Mysql安装成功后,默认的root用户密码为空,可以直接登录

      mysql -uroot -p
      mysqladmin -u root password "1"                 # 给root用户配置密码:1
      mysql -uroot -p1                                          # 配置完密码后必须使用密码登录

1.2 修改MySQL默认字符集和引擎返回顶部

  1. 安装完MySQL使用外键关联创建表失败,原因是默认引擎不对

  2. MySQL插入中文发现显示乱码,原因是默认字符集不对

      show variables like 'character%';                                      #查看MySQL默认字符集

  3. 解决方法是修改MySQL配置文件 vim /etc/my.cnf

vim /etc/my.cnf        #下面的内容都是自己添加的内容

[mysqld]
default-storage-engine=INNODB
default_character_set=utf8
character_set_server=utf8 [mysqld_safe]
default-character-set = utf8 [client]
default-character-set = utf8 [mysql.server]
default-character-set = utf8 [mysql]
default-character-set = utf8

vim /etc/my.cnf

  4. 面试题:你的数据库用什么存储引擎?区别是?

      1. 常见的有MyISAM和InnoDB。
      2. InnoDB:  支持外键约束,支持事务。对索引都是单独处理的,无需引用索引。
      3. MyISAM: 不支持外键约束,不支持事务,对数据大批量导入时,它会边插入数据边建索引。
                           所以为了提高执行效率,应该先禁用索引,在完全导入后再开启索引

1.3 MySQL创建用户与授权返回顶部

  1、创建用户

    1. 命令 : CREATE USER 'username'@'host' IDENTIFIED BY 'password';

        1、username: 你将创建的用户名
        2、host:   指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
        3、password:  该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

    2、例子

        1、CREATE USER 'tom'@'localhost' IDENTIFIED BY '123456';         #允许tom从localhost登录
        2、CREATE USER 'jack'@'1.1.1.100' IDENTIFIED BY '123456';          #允许jack从1.1.1.100主机登录
        3、CREATE USER 'fly'@'%' IDENTIFIED BY '123456';                         #允许fly从任意主机登录

        4、mysql -h 1.1.1.3 -P 3306 -u jack -p123456                           # jack从1.1.1.100登录MySQL

        5、update mysql.user set authentication_string=PASSWORD('Chnsys@2016') where user='opwf';             # 修改用户密码

  2、授权

    1. 命令 : GRANT privileges ON databasename.tablename TO 'username'@'host'

        1、privileges:     用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
        2、databasename:   数据库名
        3、tablename:   表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

    2.例子

        1、GRANT SELECT, INSERT ON testdb.student TO 'tom'@'%';           # 授权tom对testdb数据库有查询和插入权限
        2、GRANT ALL ON *.* TO 'jack'@'%';                                                # 授权jack对所有数据库、所有表所有权限

  3、查看权限 

        1、show grants for 'tom'@'localhost';                                                 # 查看用户tom在主机1.1.1.100上的权限

        2、show grants for root;                                                                      # 查看root用户所有权限

  4、撤销权限 

        1、REVOKE all ON *.* FROM 'tom'@'%';                                          # 撤销tom对所有数据库、所有表、的所有权限

# 1、创建用户
create user 'mup'@'%' identified by 'mup_yiducloud'; # 2、授予mup用户授予对mup数据库的操作权限
GRANT ALL ON mup.* TO 'mup'@'%';
flush privileges;
select host,user from mysql.user; # 3、删除用户
Delete FROM mysql.user Where User='mup' and Host=”localhost”;
Delete FROM mysql.user Where User='mup'; # 4、修改root密码
update mysql.user set authentication_string=password('mysqlRootPwd') where user='root' and Host = 'localhost';

mysql创建与授权常用操作

1.4 mysql常见报错

  1、ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 

# mysql -u root -p  #登录
# mysql>set global validate_password_policy=0; #密码强度设为最低等级
# mysql>set global validate_password_length=4; #密码允许最小长度为4
# mysql>flush privileges; #更新授权表,生效

  2、ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'bsp'

      参考地址:https://blog.csdn.net/slovyz/article/details/52182283

    1. 报错原因 

        1. 其实应该可以说基本上都是因为my.cnf 文件里面有skip-name-resolve参数这个参数导致这不能解析hostname或其它方式的登录;
        2. 所以登录任何用户,匹配的时候不走root@'localhost',或者127.0.0.1或者::1而是 一个劲的走root@'%';

    2、解决方法

#1、查看一下每种方式下的root用户是否有grant权限
mysql> select Grant_priv from user where Host='127.0.0.1';
+------------+
| Grant_priv |
+------------+
| N |
+------------+
1 row in set (0.00 sec) mysql> select Grant_priv from user where Host='localhost';
+------------+
| Grant_priv |
+------------+
| N |
+------------+
1 row in set (0.01 sec) #2、在不重启MySQL服务的情况下,只需要在登录的时候加上-h参数
(a). /usr/local/mysql/bin/mysql -uroot -p123456 -h localhost
(b). /usr/local/mysql/bin/mysql -uroot -p123456 -h127.0.0.1 #3、更改用户权限让其拥有grant权限
mysql> update user set Grant_priv='Y' where Host='127.0.0.1';
mysql> update user set Grant_priv='Y' where Host='localhost';
mysql> flush privileges; #4、退出重新用root登录,然后再操作

解决方法

  3、ERROR 1045 (28000): Access denied for user 'opwf'@'localhost' (using password: YES) 

      参考地址:https://www.cnblogs.com/bk7788/p/6388562.html

    1. 报错原因 

        1. 大意就是你有一个用户名为空的账户,mysql会先匹配它,然后就一直提示你密码错误,删掉这个匿名用户,然后执行 FLUSH PRIVILEGES;

        DELETE FROM mysql.user WHERE user='';

        FLUSH PRIVILEGES

02: MySQL的安装与基本配置的更多相关文章

  1. MySQL下载安装、基本配置、问题处理

    一 mysql介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是 ...

  2. mysql 非安装版的配置

    一直以来都是使用wamp中集成的mysql数据库,今天突然想试试下载一个mysql的zip包进行配置. 一.下载mysql非安装版 下载地址可以到:http://dev.mysql.com/downl ...

  3. MySQL的安装及简单配置

    一 .数据库概念 Mysql能干嘛呢? 它就是一款软件,安装在任何一台计算机或者服务器上的时候,只要我告诉它创建一个文件,新增一个数据,删除一个数据它就能帮我去做想要的操作 那我们暂且能不能理解为my ...

  4. Shell 脚本之 MySQL 一键安装及基本配置(几分钟搞定)

    准备工作 MySQL 该版本下载地址: https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-linux-glibc2.12- ...

  5. Linux(DeepInOS) 下 mysql 的安装与基本配置

    索引: 目录索引 参看代码 GitHub: DeepIn(GNU/Linux) MySQL 一.安装 sudo apt-get install mysql-server 期间需要输入两次密码,root ...

  6. MySql免安装版l配置方法

    初次接触mysql,折腾了一天,总是安装不成功,服务启动不了.后来从官网下载了ZIP Archive版,不用安装,直接把它解压到磁盘,做一些简单的配置就可以. 软件下载地址:http://dev.my ...

  7. Ubuntu14.02.2下安装JDK并配置Jetty服务器

    首先第一步先取得JDK的安装文件,由于我的系统是64位的,所以安装包是jdk-7u80-linux-x64.gz 上传到unbuntu服务器下 执行tar -xvf jdk-7u80-linux-x6 ...

  8. 【风马一族_mysql】MySQL免安装版环境配置图文教程

    mysql存放在某一个磁盘中(笔者使用E盘) 配置系统变量 打开 电脑的属性 点击 高级系统设置 选择 高级 点击 环境变量 选择 系统变量 点击 变量Path,追加 值 E:\mysql-5.6.2 ...

  9. linux下Mysql 的安装、配置、数据导入导出

    MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),虽然功能未必很强大,但因它的免费开源而广受欢迎. 这次,接着上一篇<CentOs minimal安装和开发环境部署>,讲下L ...

随机推荐

  1. Java实现验证码的产生和验证

    大家都知道为了防止我们的网站被有些人和黑客恶意攻击,比如我们网站的注册页面,如果我们在用户注册的时候不加上一个验证码框的话,别人就可以写一个脚本对你的网站进行恶意的注册,比如每分钟对你的网站进行n次的 ...

  2. Spark集群高可用HA配置

    本文中的Spark集群包含三个节点,分别是Master,Worker1,Worker2. 1.在Master机器上安装Zookeeper,本文安装在/usr/etc目录下 2.在Master机器配置Z ...

  3. python3学习笔记(1)_string

    #python学习笔记 17/07/07 # !/usr/bin/evn python3 # -*- coding:utf-8 -*- #r"" 引号当中的字符串不转义 #练习 # ...

  4. Cocoa 集合类型:NSPointerArray,NSMapTable,NSHashTable

    iOS 中有很多种集合类型,最为常见的可能就 NSArray.NSDictionary.NSSet,但其实还有 NSPointerArray.NSMapTable.NSHashTable 等类型,虽然 ...

  5. 火币Huobi API Websocket

    本文介绍火币Huobi API Websocket WebSocket API简介 WebSocket协议是基于TCP的一种新的网络协议.它实现了客户端与服务器之间在单个 tcp 连接上的全双工通信, ...

  6. 新建虚拟机_XP系统(二)

    准备工作:按照<新建虚拟机_XP系统(一)>中操作步骤创建好虚拟机 1.启动虚拟机进入如下界面.新建分区.选择[6]运行DiskGenius工具 2.选择快速分区.可以自定义 3.新建分区 ...

  7. 洛谷P4139 上帝与集合的正确用法 拓欧

    正解:拓展欧拉定理 解题报告: 首先放上拓欧公式? if ( b ≥ φ(p) )  ab ≡ ab%φ(p)+φ(p)(mod p)else ab≡ab mod φ(p) (mod p) 首先利用扩 ...

  8. JPA 解析

    看图想想相关的架构 1.查询表达式中的接口层次结构 2.CriteriaQuery 封装了传统查询的子句 3.Metamodel API 中的持久化类型的接口的层次结构 4. Metamodel AP ...

  9. 一次性从git远程仓库中克隆到本地。

    自动化工具 一次性从git远程仓库中克隆到本地. import os # git操作 将远程repo克隆到本地 def git_clone_cd_pull(url): # 获取仓库名称 如fullsp ...

  10. Python json pickle 模块 区别

    json 支持 str.list.dict.int.tuple 数据类型 pickle 支持Python所有里的所有数据类型 缺点: 只能在Python使用 总结: 1.JSON只能处理基本数据类型. ...