No.1. MySQL基本操作
  • CentOS7默认安装mariadb数据库,先将其移除
  • 移除命令:sudo yum -y remove mariadb-libs.x86_64
  • 下载MySQL源:https://dev.mysql.com/downloads/repo/yum/
  • 安装源:sudo yum -y localinstall mysql57-community-release-el7-11.noarch.rpm
  • 安装服务端:sudo yum -y install mysql-community-server
  • 启动:sudo service mysqld start/restart
  • 停止:sudo service mysqld stop
  • 查看服务是否启动:ps -ef | grep mysqld
  • 查找默认密码:sudo cat /var/log/mysqld.log | grep password
  • 登录:mysql -uroot -p默认密码
  • 登录后设置密码:SET PASSWORD = PASSWORD('新密码')
  • 设置密码过于简单会报错,如果只想设置简单密码,需要修改以下两个参数:
  • set global validate_passowrd_policy=0
  • set global validate_password_length=1
  • 效果如下:
  • 退出数据库登录:exit 或者\q
  • 使用新密码登录:mysql -uroot -proot
  • 上面这种方式不够安全,更安全的登录方式如下:
  • mysql -uroot -p不输入密码,直接回车,它会提示你输入密码,这样密码就不会以明文显示
  • mysql也可以指定需要连接的主机:mysql -h127.0.0.1 -uroot -p
No.2. MySQL数据库开启远程连接
  • 先登录数据库:mysql -uroot -proot
  • 然后查看数据库:show databases;
  • 然后选择mysql:use mysql;
  • 然后查看表:show tables;
  • 然后查看表user中的内容:select * from user \G;       # 其中\G是进行格式化显示的参数
  • 我们只需要Host和User这两个字段:select Host, User from user \G;   效果如下:
  • 执行update操作,更新字段:
  • update user set Host = '%' where Host = "localhost" and User = "root";
  • 其中"%"表示允许所有主机进行登录
  • 可以通过重启服务sudo service mysqld restart来刷新权限,也可以通过在登录数据库的状态下使用命令刷新权限:
  • flush privileges
  • 如果此时还是不能连接,那就是防火墙的锅了,sudo service firewalld stop
 
No.3. 开启genelog
  • genelog可以记录所有的sql语句
  • 首先进入到数据库:mysql -uroot -proot
  • 设置genelog的保存位置:set global general_log_file="/tmp/general.log"
  • 开启genelog:set global general_log=on;
No.4. 创建一个新用户
  • 登录数据库:mysql -uroot -proot
  • 选择mysql数据库: use mysql;
  • 创建新用户:create user 'litejie'@'%' identified by 'litejie';
  • 如果提示密码不符合要求,使用前面用过的那两个命令:
  • set global validate_password_policy=0
  • set global validate_password_length=1
  • 赋予用户权限:
  • grant all privileges on *.* to 'litejie'@'%' identified by 'litejie' with grant option;     其中"*.*"表示赋予用户litejie所有数据库的所有表的操作权限
  • 也可以只赋予部分操作权限:查询、插入、更新、删除
  • grant select, insert, update, delete on *.* to 'litejie'@'%' identified by 'litejie' with grant option;
  • 收回权限:
  • revoke all privileges on *.* from 'litejie'
No.5. 重置密码
  • 编辑配置文件:sudo vim /etc/my.cnf
  • 在文件最后添加一行:skip-grant-tables   跳过验证
  • 保存并退出
  • 重启mysql服务:sudo service mysqld restart
  • 此时,直接输入:mysql -uroot -p回车即可登录数据可库
  • 选择mysql数据库:use mysql;
  • 更新user表:update user set authentication_string=password('root') where User='root';
  • 刷新权限:flush privileges;
  • 删除掉原先添加进文件/etc/my.cnf中的那行代码:skip-grant-tables
  • 重启mysql:sudo service mysqld restart
  • 完成密码更新

第五十二篇 Linux相关——数据库服务MySQL的更多相关文章

  1. 第五十四篇 Linux相关——远程连接SSH

        No.1. SSH(Secure Shell)安全外壳协议 建立在应用层基础上的安全协议 可靠,专为远程登录会话和其他网络服务提供安全性的协议 有效防止远程管理过程中的信息泄漏问题 SSH客户 ...

  2. Python之路(第四十二篇)线程相关的其他方法、join()、Thread类的start()和run()方法的区别、守护线程

    一.线程相关的其他方法 Thread实例对象的方法 # isAlive(): 返回线程是否活动的. # getName(): 返回线程名. # setName(): 设置线程名. ​ threadin ...

  3. 第五十二篇:webpack的loader(三) -url-loader (图片的loader)

    好家伙, 1.什么是base64? 图片的 base64 编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址. 这样做有什么意义呢?我们知道,我们所看到的网页上的每一个图片,都是需要 ...

  4. 第五十二篇、 OC获取视频的第一帧图片thumbnailImage

    获取视频的第一帧图片 有时候我们拍摄完视频后,希望获取一张图片当作这个视频的介绍,这个图片thumbnailImage可以从视频的第一帧获取到. 我们的思路是先获取视频的URL,然后初始化一个MPMo ...

  5. 五十二、linux 编程——网络介绍

    52.1 网络介绍 使用远程资源 共享信息.程序和数据 分布处理 52.1.1 协议的概念 计算机网络中实现通信必须有一些约定,如对速率.传输代码.代码结构.传输控制步骤和出错控制等约定,这些约定即被 ...

  6. C++第五十二篇 -- 多线程之消息传递

    主线程向子线程发送消息 参考链接:https://www.cnblogs.com/ranjiewen/p/5729539.html 1. 创建线程语句 HANDLE hThread; DWORD dw ...

  7. python【第十二篇下】操作MySQL数据库以及ORM之 sqlalchemy

    内容一览: 1.Python操作MySQL数据库 2.ORM sqlalchemy学习 1.Python操作MySQL数据库 2. ORM sqlachemy 2.1 ORM简介 对象关系映射(英语: ...

  8. 《手把手教你》系列技巧篇(五十二)-java+ selenium自动化测试-处理面包屑(详细教程)

    1.简介 面包屑(Breadcrumb),又称面包屑导航(BreadcrumbNavigation)这个概念来自童话故事"汉赛尔和格莱特",当汉赛尔和格莱特穿过森林时,不小心迷路了 ...

  9. Spring Cloud第十二篇 | 消息总线Bus

    ​ ​本文是Spring Cloud专栏的第十二篇文章,了解前十一篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring ...

随机推荐

  1. 44.Python实现简易的图书管理系统

    首先展示一下图书管理系统的首页: 这是图书管理系统的发布图书页面: 最后是图书管理系统的图书详情页已经图书进行删除的管理页. 该图书管理系统为练习阶段所做,能够实现图书详情的查询.图书的添加.图书的删 ...

  2. HDU1862 - EXCEL排序

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1862 解题思路:结构体排序 #include <bits/stdc++.h> using ...

  3. P3292 [SCOI2016]幸运数字 [线性基+倍增]

    线性基+倍增 // by Isaunoya #include <bits/stdc++.h> using namespace std; #define rep(i, x, y) for ( ...

  4. 正则表达式[\w]+,\w+,[\w+]

    正则表达式[\w]+,\w+,[\w+] 三者区别? [],[ABC]+,[\w./-]+ 表达什么? 正则表达式[\w]+,\w+,[\w+] 三者有何区别:[\w]+和\w+没有区别,都是匹配数字 ...

  5. SpringBoot的应运而生

    随着动态语言的流行(Ruby,Groovy,Scala,Node.js),java的开发显得格外的笨重,繁多的配置,低下的效率,复杂的部署流程以及第三方技术集成难度大.springboot应运而生,使 ...

  6. Sql Server2008忘记sa登陆密码

    Sql的sa登陆密码忘记解决方法: 语句执行的前提: 1.系统可以登陆进去(当不记得sa密码的时候,可以使用windows用户验证的方式进行登陆) 2.平时用sa登陆,点了记住密码但是不记得密码是多少 ...

  7. MySQL的字段属性+SQLyog查看建表语句

    MySQL的字段属性 写在前面:数据库就是单纯的表,用来存储数据,只有行和列.行代表数据,列代表字段(id.name.age这种就叫字段) 1.长度 2.默认 3.主键 4.非空 5.Unsigned ...

  8. 分类问题(三)混淆矩阵,Precision与Recall

    混淆矩阵 衡量一个分类器性能的更好的办法是混淆矩阵.它基于的思想是:计算类别A被分类为类别B的次数.例如在查看分类器将图片5分类成图片3时,我们会看混淆矩阵的第5行以及第3列. 为了计算一个混淆矩阵, ...

  9. [USACO12FEB] 附近的牛 Nearby Cows - 树形dp,容斥

    给你一棵 \(n\) 个点的树,点带权,对于每个节点求出距离它不超过 \(k\) 的所有节点权值和 \(m_i\) 随便定一个根,设\(f[i][j]\)表示只考虑子树,距离为\(j\)的权值和,\( ...

  10. 搭建GithubPages静态博客踩过的坑

    前言 搭建了属于自己的GitHub Page作为个人博客,上手Hexo+Material感觉比较花哨,后改用Yilia主题效果良好.期间发现并解决了一些问题,贴出值得记录的部分作为参考: 维护 书写 ...