linux-mysql的安装与使用(1)

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

0、由于MariaDB和MySQL的渊源颇深,若系统中原来有MariaDB,要提前删除掉,避免安装失败或产生其他不兼容性问题
搜索mariadb
#rpm -qa | grep maria*
发现mariadb删除掉
#rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
在这里插入图片描述

1、在官网下载yum repository安装文件 https://dev.mysql.com/downloads/repo/yum/
选择适合系统的版本,本次安装使用的是centos7
在这里插入图片描述

2、下载文件并上传到服务器(或者获取文件连接,在服务器直接用wget下载)
这里我是用wget下载文件到/user/local/mysql目录下
在这里插入图片描述

3、安装mysql的仓库文件(下面安装过程可以参照官网https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/)
#rpm -Uvh mysql80-community-release-el7-2.noarch.rpm
在这里插入图片描述

4、查看yum repository mysql源信息
#yum repolist all | grep mysql
可以看到mysql源里面包含55、56、57、80版本的信息,默认80是enabled,其他版本是disabled。
也就是说默认安装会安装当前最新版本的mysql server
在这里插入图片描述

5、可以使用yum-config-manage disable某个版本和enable某个版本(如果找不到命令,先执行该命令# yum -y install yum-utils)
例如想安装mysql5.7,禁掉80,打开57
#yum-config-manager --disable mysql80-community
#yum-config-manager --enable mysql57-community
或者直接更改/etc/yum.repos.d/mysql-community.repo文件

6、安装mysql 服务
#yum install mysql-community-server
在这里插入图片描述

7、安装完成信息片段
在这里插入图片描述

8、修改配置文件(如果有需要,不然可以保持默认)
#vim /etc/my.cnf
可以修改端口号、表名大小写敏感、sql模式等。
注意:lower_case_table_names只支持在初始化数据库之前修改,如果数据库已经初始化完毕,再修改不起作用,并且数据库服务也无法启动
解决办法:停掉运行的MySQL进程删除数据目录下的文件,启动服务并重新初始化(有数据要记得先备份,备份,备份)
#systemctl stop mysqld
#rm -rf /var/lib/mysql/*

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
#
# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin

# 设置mysql认证插件,默认caching_sha2_password,现在很多客户端不支持,导致无法连接
default-authentication-plugin=mysql_native_password

# 设置mysql端口号,默认是3306,这里修改成了3386
port = 3386

#lower_case_table_names=0  表名存储为给定的大小和比较是区分大小写的 
#lower_case_table_names=1  表名存储在磁盘是小写的,但是比较的时候是不区分大小写
#lower_case_table_names=2  表名存储为给定的大小写但是比较的时候是小写的
## 默认值是0,为了与开发环境兼容,这里修改成了1
lower_case_table_names=1

#默认有更多的限制,为了与开发环境兼容,做了调整
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

9、启动服务并查看状态
第一次启动服务,数据库会初始化数据,生成临时密码
#systemctl start mysqld
在这里插入图片描述

10、临时密码
在mysql的日志文件中找到初始化时生成的临时密码
直接打开日志文件,找到temporary password
#vim /var/log/mysqld.log
在这里插入图片描述
或者进行内容搜索更方便
cat /var/log/mysqld.log | grep password
在这里插入图片描述

11 、使用临时密码登陆mysql
#mysql -uroot -p
在这里插入图片描述

12、修改密码,并让数据库可以远程访问
临时密码登陆后,权限受限,必须修改密码才能做进一步的操作
因为当前密码策略的限制,还不能设置简单的密码
修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘Test@1234’;
注意: 若在配置文件中没有指定mysql认证插件为mysql_native_password,可以在修改密码的时候显示指定认证插件,即
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘Test@1234’;
刷新权限
FLUSH PRIVILEGES;
在这里插入图片描述

查看数据库
show databases;
选择数据库
use mysql;
查看当前数据库表
show tables;
查看user表host、user字段
select host,user from user;
修改root用户的host
update user set host=’%’ where user=‘root’;
再次查看user表host、user字段
select host,user from user;
在这里插入图片描述
刷新用户权限
FLUSH PRIVILEGES;

13、尝试远程连接
在这里插入图片描述

14、查看密码策略、修改密码策略
有时候作为测试数据库,只需要一个简单的数据库密码,这个时候我们需要降低密码策略等级再修改密码
查看默认的密码策略和密码长度要求
SHOW VARIABLES LIKE ‘validate_password%’;
在这里插入图片描述
validate_password_check_user_name :用户名检测,默认开启
validate_password_dictionary_file :字典文件,就是要在字典规则里才能满足密码的条件。
validate_password_length : 密码的长度至少为8位
validate_password_mixed_case_count :密码中至少有一个大小写字母
validate_password_number_count :密码中至少一个数字
validate_password_special_char_count : 密码中至少一个特殊字符

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值