Linux文档整理之【Mysql安装与配置】
最近公司让整理一个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安装与配置】的更多相关文章
- Linux文档整理之【Nginx安装Docker】
这次整理的文档是Docker安装 先说明下我用的系统是Linux Centos,不同的Linux版本差别不大. 1.安装依赖包 sudo yum install -y yum-utils device ...
- Linux文档整理之【Jenkins+Docker自动化部署.Net Core】
这次整理的文档是Jenkins+Docker实现自动化部署,很早之前就写的,今天有时间就搬到博客园做个记录. Jenkins是基于Java开发的一种持续集成工具,主要用于持续.自动的构建/测试软件等相 ...
- 开源文档管理系统LogicalDOC测试报告---安装篇
开源文档管理系统LogicalDOC测试报告---安装篇 分类: Linux2011-06-22 15:40 7436人阅读 评论(3) 收藏 举报 文档管理测试mysql数据库installerja ...
- linux文档常见后缀名
echo "Start bakup mdsoss Source code ..."_Name="templatecdr_src_"`date +%Y%m%d%H ...
- NodeJS-001-Nodejs学习文档整理(转-出自http://www.cnblogs.com/xucheng)
Nodejs学习文档整理 http://www.cnblogs.com/xucheng/p/3988835.html 1.nodejs是什么: nodejs是一个是javascript能在后台运行的平 ...
- LDP - Linux文档工程的简介,包括帮助,向导和文档
总览 SYNOPSIS Linux文档工程(LDP)为Linux社区提供多种自由文档资源,包括向导 (guide),常见问答 (FAQ),入门 (HOWTO) 以及手册页 (man-pages). 作 ...
- Frida使用文档(一)安装、启动、运行、关闭
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删!企鹅:1033383881 Frida使用 ...
- 将Html文档整理为规范XML文档
有多种方式可以在.NET 平台进行HTML文件解析.数据提取,其中最简单.稳妥的办法是先使用工具将Html文档整理成XML文档,再通过XML Dom模型或XPath灵活地进行数据处理.SGML便是一个 ...
- 解决Linux文档显示中文乱码问题以及编码转换
解决Linux文档显示中文乱码问题以及编码转换 解决Linux文档显示中文乱码问题以及编码转换 使vi支持GBK编码 由于Windows下默认编码是GBK,而linux下的默认编码是UTF-8,所以打 ...
随机推荐
- sh_06_女友的节日
sh_06_女友的节日 # 定义 holiday_name 字符串变量记录节日名称 holiday_name = "生日" # 如果是 情人节 应该 买玫瑰/看电影 if holi ...
- sqli-labs(26)
0X01 测试闭合 单引号报错 双引号不报错 ’闭合 构造语句 过滤了空格和and ?id=' anandd 1=1%23 ?id='+anandd+1=1%23 百度一下 一去看源码 真的顶不住 ...
- CentOS 6.7与CentOS 7.3内存查看命令free、top的差异对比
https://www.centos.bz/2017/08/centos-6-7-centos-7-3-free-top/
- lr中用C语言比较两个字符串变量
以下脚本,定义两个一样的字符数组,对比后,打印出result的值: Action() { int result; char string1[] = "We can see the strin ...
- rtmp协议分析
最近需要做一个rtmp服务器,着手分析一下rtmp协议,开干. rtmp握手 这个推荐一篇文章讲解得比较透彻http://blog.sina.com.cn/s/blog_676e11660102v8b ...
- Fresnel integral菲涅尔积分的一丢丢探讨
起因源于导师的关于回旋曲线的一点问题 其中最后得到的曲率公式中的c,s’和s定义不明确 于是开始从头从(2.1)式中的积分入手探究 维基百科中Fresnel integral的S(x)与C(x)的定义 ...
- hibernate的查询
1.条件查询 public List<Weibo> selectOne(int k){ Session session = HibernateUtil.currentSession(); ...
- 【flask_sqlalchemy】模糊查询
flask_sqlalchemy的查询方法有filter()和filter_() 这2个方法的主要区别如下: 模块 语法 ><(大于和小于)查询 and_和or_查询 filter_by( ...
- HTML学习之==>CSS
一.CSS选择器 id选择器 class选择器 标签选择器 标签层级选择器 class层级选择器 id层级选择器 id组合选择器 class组合选择器 属性选择器 <!DOCTYPE html& ...
- QA的工作职责是什么?
目前不知道,后续一点一点查资料补充吧 QA不管做什么的类型的测试,最基础的功能测试,需要搭建测试环境:进阶部分的性能压力测试,对搭建环境的要求更高:接口功能测试,搭建测试环境,和功能测试的差不多: 测 ...