最近公司让整理一个Linux安装Mysql的文档。所以就整理了一下,这里将自己整理的详细文档做个笔记。

1、下载Mysql。

https://dev.mysql.com/downloads/mysql/5.6.html#downloads

我这里选择安装的版本是5.7.26

选择一个安装包进行下载

https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

使用下载命令直接下载,或者自己下载后上传到服务器。

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

2、解压安装包

tar –zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

3、复制文件到安装目录

复制文件到 /usr/local/mysql (一般情况都是复制这个目录当然也可以自定义)

cp -r mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql

4、添加mysql用户组和用户及修改对应权限

groupadd mysql

useradd -g mysql mysql

更改/usr/local/mysql 文件夹所有者属性和对应权限

chown -R mysql:mysql  /usr/local/mysql/

chown -R mysql  /usr/local/mysql/

chmod -R 755 /usr/local/mysql/

5、安装libaio 依赖包 如果已安装则跳过

yum install libaio   (我用的是centos所以安装是用yum)

6、初始化安装

在当前目录(/usr/local/mysql/)创建一个data目录 用于存放数据库数据文件 (这个位置可以自定义)

mkdir data

注意修改data目录权限

chown -R mysql:mysql  /usr/local/mysql/data

chown -R mysql  /usr/local/mysql/data

chmod -R 755 /usr/local/mysql/data

初始化安装命令

bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

mysqld 在数据库软件目录的bin下面;我当前在/usr/local/mysql根目录所以执行mysqld时前面要加上bin目录。

basedir:数据库软件根目录,即解压后复制到的地方

datadir:数据库数据存储目录,这个就是前面mkdir data前面建立的

记住最后几个字符生成的临时数据库登录密码记住是冒号后面的都是密码(如下图)

如果出现:initialize specified but the data directory has files in it. Aborting错误,请将data目录下的所有文件都删除,再进行初始化安装命令。

7、修改配置文件

修改datadir、basedir等对应的目录。

配置文件里所有配置的文件位置必须真实存在,不存在的需要手动创建;并且赋予对应的文件权限。

vim /etc/my.cnf

8、创建日志文件并赋予对应权限

var/log/mariadb/mariadb.log  这里必须要将mariadb.log文件创建好才行。

创建文件(我是已经在var/log/mariadb目录下了)

创建文件

touch mariadb.log

设置日志文件所有者为mysql和对应权限

chown -R mysql:mysql /var/log/mariadb/

chown -R mysql /var/log/mariadb/

chmod -R 755 /var/log/mariadb/

9、将mysql加入服务并设置开机自启动

加入服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

开机启动

chkconfig mysql on

10、启动Mysql服务并连接数据库

service mysql start

 

看到 Starting MySQL. SUCCESS! 代表启动成功。至此安装启动完成。

连接数据库 使用临时密码登录

mysql -u root –p

登录后如果输入任何mysql 命令都是提示:You must reset your password using ALTER USER statement before executing this statement.

如下图错误提示

如果是这种情况就需要强制修改用户口令。

alter user user() identified by "123456";  (此命令是在登录mysql后执行)

11、修改允许远程连接

允许远程连接例如Navicat 等客户端登录。

以下命令都是在登录mysql成功后执行

update user set host='%' where user = 'root';

使修改的权限立即生效。

flush privileges;

注意,在真实的生产环境中,并不建议这么修改,因为安全风险太大。建议根据实际情况将root用户的host项修改为某个指定的ip地址,或仍然保持localhost。

接下来就可以使用客户端连接了。

端口才行,如果是买的云服务器则需要在云服务器安全设置页面添加对应的进出端口。

Linux文档整理之【Mysql安装与配置】的更多相关文章

  1. Linux文档整理之【Nginx安装Docker】

    这次整理的文档是Docker安装 先说明下我用的系统是Linux Centos,不同的Linux版本差别不大. 1.安装依赖包 sudo yum install -y yum-utils device ...

  2. Linux文档整理之【Jenkins+Docker自动化部署.Net Core】

    这次整理的文档是Jenkins+Docker实现自动化部署,很早之前就写的,今天有时间就搬到博客园做个记录. Jenkins是基于Java开发的一种持续集成工具,主要用于持续.自动的构建/测试软件等相 ...

  3. 开源文档管理系统LogicalDOC测试报告---安装篇

    开源文档管理系统LogicalDOC测试报告---安装篇 分类: Linux2011-06-22 15:40 7436人阅读 评论(3) 收藏 举报 文档管理测试mysql数据库installerja ...

  4. linux文档常见后缀名

    echo "Start bakup mdsoss Source code ..."_Name="templatecdr_src_"`date +%Y%m%d%H ...

  5. NodeJS-001-Nodejs学习文档整理(转-出自http://www.cnblogs.com/xucheng)

    Nodejs学习文档整理 http://www.cnblogs.com/xucheng/p/3988835.html 1.nodejs是什么: nodejs是一个是javascript能在后台运行的平 ...

  6. LDP - Linux文档工程的简介,包括帮助,向导和文档

    总览 SYNOPSIS Linux文档工程(LDP)为Linux社区提供多种自由文档资源,包括向导 (guide),常见问答 (FAQ),入门 (HOWTO) 以及手册页 (man-pages). 作 ...

  7. Frida使用文档(一)安装、启动、运行、关闭

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删!企鹅:1033383881 Frida使用 ...

  8. 将Html文档整理为规范XML文档

    有多种方式可以在.NET 平台进行HTML文件解析.数据提取,其中最简单.稳妥的办法是先使用工具将Html文档整理成XML文档,再通过XML Dom模型或XPath灵活地进行数据处理.SGML便是一个 ...

  9. 解决Linux文档显示中文乱码问题以及编码转换

    解决Linux文档显示中文乱码问题以及编码转换 解决Linux文档显示中文乱码问题以及编码转换 使vi支持GBK编码 由于Windows下默认编码是GBK,而linux下的默认编码是UTF-8,所以打 ...

随机推荐

  1. BZOJ 4883: [Lydsy1705月赛]棋盘上的守卫 最小生成树 + 建模

    Description 在一个n*m的棋盘上要放置若干个守卫.对于n行来说,每行必须恰好放置一个横向守卫:同理对于m列来说,每列 必须恰好放置一个纵向守卫.每个位置放置守卫的代价是不一样的,且每个位置 ...

  2. windows10 gcc编译C程序(分步编译)

    下面演示gcc对C源程序的分步编译过程: 1. 编译(Compile) gcc hello.cpp -c # 生成hello.o,目标文件名字和源文件名字一样,VC编译会生成.ojb文件,gcc编译器 ...

  3. 手写ORM

    利用ORM把mysql中的数据封装成对象,通过对象点语法来获取mysql中的数据,所以自己手写一个ORM,方便我们操作数据 一.ORM:对象关系映射 类 >>> 数据库的一张表 对象 ...

  4. (58)PHP开发

    LAMP 0.使用include和require命令来包含外部PHP文件. 使用include_once命令,但是include和include_once命令相比的不足就是这两个命令并不关心请求的文件 ...

  5. Jmeter -- 上下文关联(JSON提取器)

    目标: 将请求A响应数据的部分内容提取出来,保存成变量供后续请求使用(用在返回格式为json的HTTP请求中) 步骤: 1. 添加JSON Extractor后置处理器 add --> post ...

  6. vue中下载excel的使用,后端链接两种情况,一个是链接,一个是文件流

    vue中下载excel使用 一.这是第一种情况,后台链接地址返回的是一个url,这个时候我只要在导出按钮上绑定exportData()这个事件方法就好了 exportData() {     this ...

  7. Ansible安装及常用模块

    配置文件:/etc/ansible/ansible.cfg 主机列表:/etc/ansible/hosts  安装anslibe  wget -O /etc/yum.repos.d/epel.repo ...

  8. Python 基础知识总结

    strptime() 根据指定的格式将一个时间字符串解析为一个时间元组. time.strptime(time_str[,format]) 返回strcut_time对象 #time_str 是时间字 ...

  9. Linux内核中的cmpxchg函数

    http://www.longene.org/forum/viewtopic.php?t=2216 前几天,为了这个函数花了好多时间,由于参考的资料有误,一直都没有看明白,直到google之后,总算搞 ...

  10. Jmeter之HTTP常用配置元件(默认、头信息和cookies)

    在进行HTTP接口的测试时,会用到部分常用的配置元件,现在简单的说明: 一.HTTP请求默认值 在测试同一个项目的HTTP请求接口时,会存在部分相同的信息,可以将这些相同的信息提取出来,使用HTTP请 ...