第五十二篇 Linux相关——数据库服务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
- 先登录数据库: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
- genelog可以记录所有的sql语句
- 首先进入到数据库:mysql -uroot -proot
- 设置genelog的保存位置:set global general_log_file="/tmp/general.log"
- 开启genelog:set global general_log=on;
- 登录数据库: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'
- 编辑配置文件: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的更多相关文章
- 第五十四篇 Linux相关——远程连接SSH
No.1. SSH(Secure Shell)安全外壳协议 建立在应用层基础上的安全协议 可靠,专为远程登录会话和其他网络服务提供安全性的协议 有效防止远程管理过程中的信息泄漏问题 SSH客户 ...
- Python之路(第四十二篇)线程相关的其他方法、join()、Thread类的start()和run()方法的区别、守护线程
一.线程相关的其他方法 Thread实例对象的方法 # isAlive(): 返回线程是否活动的. # getName(): 返回线程名. # setName(): 设置线程名. threadin ...
- 第五十二篇:webpack的loader(三) -url-loader (图片的loader)
好家伙, 1.什么是base64? 图片的 base64 编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址. 这样做有什么意义呢?我们知道,我们所看到的网页上的每一个图片,都是需要 ...
- 第五十二篇、 OC获取视频的第一帧图片thumbnailImage
获取视频的第一帧图片 有时候我们拍摄完视频后,希望获取一张图片当作这个视频的介绍,这个图片thumbnailImage可以从视频的第一帧获取到. 我们的思路是先获取视频的URL,然后初始化一个MPMo ...
- 五十二、linux 编程——网络介绍
52.1 网络介绍 使用远程资源 共享信息.程序和数据 分布处理 52.1.1 协议的概念 计算机网络中实现通信必须有一些约定,如对速率.传输代码.代码结构.传输控制步骤和出错控制等约定,这些约定即被 ...
- C++第五十二篇 -- 多线程之消息传递
主线程向子线程发送消息 参考链接:https://www.cnblogs.com/ranjiewen/p/5729539.html 1. 创建线程语句 HANDLE hThread; DWORD dw ...
- python【第十二篇下】操作MySQL数据库以及ORM之 sqlalchemy
内容一览: 1.Python操作MySQL数据库 2.ORM sqlalchemy学习 1.Python操作MySQL数据库 2. ORM sqlachemy 2.1 ORM简介 对象关系映射(英语: ...
- 《手把手教你》系列技巧篇(五十二)-java+ selenium自动化测试-处理面包屑(详细教程)
1.简介 面包屑(Breadcrumb),又称面包屑导航(BreadcrumbNavigation)这个概念来自童话故事"汉赛尔和格莱特",当汉赛尔和格莱特穿过森林时,不小心迷路了 ...
- Spring Cloud第十二篇 | 消息总线Bus
本文是Spring Cloud专栏的第十二篇文章,了解前十一篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring ...
随机推荐
- 对象浅拷贝Object.assign
const target = { a: { b: { c: { d: 1 } }, e: 5, f: 6, h: 10 } } const source = { a: { b: { c: { d: 1 ...
- [JAVA] 面向对象小小总结
面向对象概述 符合人类思维习惯的编程思想 , 生活中存在着不同形态的事物 , 这些事物存在着不同的联系 , 在程序中使用对象来映射现实中事物 , 使用对象关系来描述事物之间的联系, 这种思想就是面向对 ...
- 请写一个java类,在任何时候都可以向它查询“你已经创建了多少个对象?”
这个问题解决方法很简单,只要设置一个类的静态整型成员(事例中我设置的是n),初始化值为1,然后在其构造函数中添加语句使其+1(n++),这样需要查询创建了多少个对象时直接查询n的值就可以了,如下: p ...
- JMeter-显示调试日志log
JMeter-调试日志记录 参考文档:https://jmeter.apache.org/usermanual/hints_and_tips.html 大多数测试元素包括调试日志记录. 如果从GUI运 ...
- ArcGISServer发布流程
发布数据服务 在进行WebGIS开发中,地图显示的内容可以分成两类:一类是底图,或者是矢量的世界地图.中国地图.某个地区的底图:另一类就是业务图,对于用于遥感数据发布的WebGIS应用就是遥感影像的边 ...
- PAT (Basic Level) Practice (中文)1057 数零壹 (20 分) (按行输入带空格的字符串)
给定一串长度不超过 1 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0.多少 1.例如给定 ...
- 百度地图根据list经纬度算每个点到剩余点的平均距离、最远距离和最近距离
一.使用步骤 说明:给你一大串坐标list.计算每个点到其他所有点的最近最远平均距离. 1.打开百度地图api在线demo(随便一个都行) 2.替换<script></script& ...
- php函数的巧妙应用
直接切入正题: 1.extract();函数从数组中把变量导入到当前的符号表中 对于数组中的每个元素,键名用于变量名,键值用于变量值. 第二个参数 type 用于指定当某个变量已经存在,而数组中又有同 ...
- Python静态方法、类方法、属性方法
静态方法 使用静态方法以后,相当于把下面的函数和类的关系截断了,它的作用相当于是类下面的一个独立函数,不会自动传入参数self. class people:..... @staticmethod de ...
- JS首字母进行分类合并加排序
let array = ['fds', 'ewfg1', 'cvd', 'ew', 'qer', 'jjh', 'rth', 'asd', 'vsd', 'tteh', 'fxv']; let map ...