MySQL其他篇

目录:

参考网站

  • 1.1 MySQL安装与基本配置(centos 7.3)
  • 1.2 修改MySQL默认字符集和引擎
  • 1.3 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

转载于:https://www.cnblogs.com/xiaonq/p/8398690.html

02: MySQL的安装与基本配置相关推荐

  1. MySQL编译安装及主从配置

    说明:本实验配置以Cenos6.6和MySQL5.6.35为例 一.编译安装MySQL 1.避免在安装过程中出现问题,先安装系统依赖包 yum install apr autoconf automak ...

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

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

  3. MySQL 免安装版的下载与配置教程

    MySQL 免安装版的下载与配置教程 MySQL 的下载安装 附录 其它 MySQL 命令 查看本 MySQL 数据存放目录 此博客存在上一个版本,如果读者对笔者以前版本的博客依然感兴趣,可以访问此链 ...

  4. iOS - MySQL 的安装配置

    前言 提前下载好相关软件,且安装目录最好安装在全英文路径下.如果路径有中文名,那么可能会出现一些莫名其妙的问题. 提前准备好的软件: mysql-5.7.17-macos10.12-x86_64.dm ...

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

    为什么80%的码农都做不了架构师?>>>    <p><span>MySQL</span><span>是一种</span> ...

  6. linux中安装多个mysql_liunx系统下安装多个MySql数据库并做主从配置

    在网上搜索了很多资料,都没有看到像样的文档,思路不是很清晰,对第一次安装的朋友来说较为困难,经过长时间的安装尝试和查询网上零碎的知识点,终于成功的完成Linux系统下多MySql数据库安装和主从配置, ...

  7. mysql 免安装版配置

    mysql 免安装版详细配置 从mysql官网粗略看了一下,目前官网上仅提供5.7版32位的msi installer,64位的均为免安装版,需要进行配置.由于之前升级了一次系统,之前的mysql被移 ...

  8. debian编译mysql_MySQL数据库之Debian 6.02下编译安装 MySQL 5.5的方法

    本文主要向大家介绍了MySQL数据库之Debian 6.02下编译安装 MySQL 5.5的方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 环境 : Debian 6.02 ...

  9. HIVE的安装配置、mysql的安装、hive创建表、创建分区、修改表等内容、hive beeline使用、HIVE的四种数据导入方式、使用Java代码执行hive的sql命令

    1.上传tar包 这里我上传的是apache-hive-1.2.1-bin.tar.gz 2.解压 mkdir -p /home/tuzq/software/hive/ tar -zxvf apach ...

最新文章

  1. 字符串还可以这样初始化--uboot篇
  2. 使用Jenkins自动远程调用压测机实现不同用户场景下的并发测试
  3. Springboot - -web应用开发-Servlets, Filters, listeners
  4. 我的Java开发学习之旅------gt;Base64的编码思想以及Java实现
  5. java jpanel调用构造函数的时候就开始执行repaint_在Java Swing组件中劫持`repaint()`调用...
  6. jdbctemplate 批量操作
  7. java必读书籍_必读:Java Java
  8. 时时流量查看工具-ifsta,nload,iftop
  9. 复制带随机节点的链表
  10. python aes加密 cbc_【转载】python AES CBC模式加密
  11. servlet上传文件接收工具
  12. jsp网页上实现计算圆面积小程序
  13. 安徽大学java期末_安微大学2017~2018年度期末考试题卷
  14. 这个锅,运维来背?忘记续期 HTTPS 证书,网易邮箱大量用户无法使用
  15. 上下相机贴合对位计算公式_ccd视觉自动对位贴合机主要应用在哪里?
  16. 栈-剑指 Offer 30. 包含min函数的栈
  17. JNDI:对java:comp/env的研究
  18. 小迪外卖小程序源码+后台_外卖cps 赚钱小程序源码
  19. 计算机软件类自然科学基金标书,国家自然科学基金标书撰写——体会6(转发仅供参考)...
  20. Burp suite的扫描模块

热门文章

  1. JPush (极光推送) For Xamarin.Android
  2. centos 6.5 安装 redis
  3. 使用sphinx搜索子域名过程中需注意的问题
  4. SQLite 入门教程(三)好多约束 Constraints
  5. TFTP更新linux或android系统文件
  6. Docker 多机网络
  7. 问题 I: 成对最小公倍数(数学)
  8. linux远程连接硬件加速,linux – 没有X的硬件加速
  9. 自建ELK迁移阿里云日志服务
  10. 开放下载!《Rocket MQ 使用排查指南》精解100+常见问题