安装MYSQL到Ubuntu(APT)
## 运行环境
系统版本:Ubuntu 16.04.6 LTS
软件版本:MYSQL-5.7
硬件要求:无
安装过程
1、安装APT-MYSQL存储库
APT-MYSQL存储库由MYSQL官网提供。选择安装MYSQL-5.7版本。
root@localhost:~# wget https://repo.mysql.com/mysql-apt-config_0.8.13-1_all.deb
root@localhost:~# dpkg -i mysql-apt-config_0.8.11-1_all.deb

2、更新APT缓存
root@localhost:~# apt-get update
3、安装MYSQL
安装过程中会弹出一个图形化界面,需要我们输入一个高强度的MYSQL超级管理员“root”账号的密码,输入完成后即可完成安装,并且MYSQL服务会自动启动。
注:这里输入的密码只用于安装MYSQL,后面不会使用。
root@localhost:~# apt-get -y install mysql-community-server --allow-unauthenticated


4、创建一个数据库实例,停止服务
MYSQL在安装完成时,会自动启动MYSQL服务,我们需要将其停止。
root@localhost:~# systemctl stop mysql
5、创建一个数据库实例,创建相关目录并授权
root@localhost:~# mkdir -p /data/mysql/data
root@localhost:~# mkdir -p /data/mysql/binlog
root@localhost:~# mkdir -p /data/mysql/relaylog
root@localhost:~# mkdir -p /data/mysql/log
root@localhost:~# chown -R mysql.mysql /data/mysql
6、创建一个数据库实例,创建配置文件
root@localhost:~# vim /data/mysql/my.cnf
[mysqld]
### basic ###
user = mysql
server_id = 1
bind-address = 0.0.0.0
port = 43306
pid-file = /data/mysql/mysqld.pid
socket = /data/mysql/mysqld.sock
datadir = /data/mysql/data
default_storage_engine = InnoDB
# explicit_defaults_for_timestamp = true
symbolic-links = 0
### skip password ###
skip-grant-tables = false
### errorlog ###
log_error = /data/mysql/log/error.log
### binlog ###
log-bin = /data/mysql/binlog/mysql-bin
log_bin_index = /data/mysql/binlog/mysql-bin.index
binlog_cache_size = 4MB
max_binlog_size = 200MB
# log_bin_trust_function_creators = 1
# expire_logs_days = 30
### relaylog ###
relay-log = /data/mysql/relaylog/mysql-relay-bin
relay_log_index = /data/mysql/relaylog/mysql-relay-bin.index
### slowlog ###
slow_query_log = ON
slow_query_log_file = /data/mysql/log/slow.log
long_query_time = 10
### network ###
back_log = 512
max_allowed_packet = 64MB
max_connections = 1024
max_connect_errors = 100
### buffer ###
# join_buffer_size = 1MB
# read_buffer_size = 1MB
# read_rnd_buffer_size = 1MB
# sort_buffer_size = 1MB
### query_cache ###
query_cache_type = ON
query_cache_size = 256MB
table_open_cache = 5000
thread_cache_size = 16
### innodb ###
innodb_log_group_home_dir = /data/mysql/data
innodb_data_home_dir = /data/mysql/data
innodb_data_file_path = ibdata1:1G:autoextend
# innodb_buffer_pool_size = 2GB
# innodb_buffer_pool_instances = 1
innodb_flush_method = O_DIRECT
innodb_flush_log_at_trx_commit = 2
innodb_log_file_size = 2GB
innodb_log_files_in_group = 2
innodb_log_buffer_size = 16MB
innodb_read_io_threads = 4
innodb_write_io_threads = 4
innodb_lock_wait_timeout = 60
innodb_thread_concurrency = 4
innodb_open_files = 65535
open-files-limit = 65535
root@localhost:~# vim /etc/mysql/my.cnf
[mysql]
socket = /data/mysql/mysqld.sock
[mysqladmin]
socket = /data/mysql/mysqld.sock
[mysqldump]
socket = /data/mysql/mysqld.sock
7、创建一个数据库实例,配置Apparmor
Apparmor是Ubuntu下一个应用防火墙,相当于CentOS中的Selinux,它控制了应用对文件系统的操作权限。我们需要添加相关条目,允许MYSQL进程对相关目录拥有可操纵权限。
root@localhost:~# vim /etc/apparmor.d/usr.sbin.mysqld
/usr/sbin/mysqld {
/data/mysql/ r,
/data/mysql/** rwk,
/data/mysql/data/ r,
/data/mysql/data/** rwk,
/data/mysql/binlog/ r,
/data/mysql/binlog/** rwk,
/data/mysql/relaylog/ r,
/data/mysql/relaylog/** rwk,
/data/mysql/log/ r,
/data/mysql/log/** rwk,
...
}
root@localhost:~# systemctl restart apparmor.service
8、创建一个数据库实例,初始化
初次运行,我们需要初始化数据库实例,生成基础数据库。
root@localhost:~# mysqld --defaults-file=/data/mysql/my.cnf --initialize
9、创建一个数据库实例,修改系统服务控制
将数据库实例服务交由系统管理工具“systemctl”托管。
root@localhost:~# vim /lib/systemd/system/mysql.service
[Unit]
Description=MySQL Community Server
After=network.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
Type=forking
PermissionsStartOnly=true
PIDFile=/data/mysql/mysqld.pid
#ExecStartPre=/usr/share/mysql/mysql-systemd-start pre
ExecStart=/usr/sbin/mysqld --defaults-file=/data/mysql/my.cnf --daemonize
TimeoutSec=600
LimitNOFILE = 65535
Restart=on-failure
RestartPreventExitStatus=1
RuntimeDirectory=mysqld
RuntimeDirectoryMode=755
10、创建一个数据库实例,启动服务
root@localhost:~# systemctl daemon-reload
root@localhost:~# systemctl start mysql
root@localhost:~# systemctl enable mysql
root@localhost:~# netstat -lnupt |grep mysql
tcp 0 0 0.0.0.0:43306 0.0.0.0:* LISTEN 13046/mysqld
11、创建一个数据库实例,重置超级管理员密码
我们需要通过错误日志获取初始化时生成的临时密码。
密码必须符合复杂性要求,需要字母大小写+数字+特殊符号。
root@localhost~# cat /data/mysql/log/error.log |grep password
2019-05-05T03:55:21.001110Z 1 [Note] A temporary password is generated for root@localhost: qUJjC#oae0<l
root@localhost:~# mysqladmin -uroot -p'qUJjC#oae0<l' password 'ABCabc-123'
12、访问测试
root@localhost:~# mysql -uroot -p'ABCabc-123' -A
mysql>
安装MYSQL到Ubuntu(APT)的更多相关文章
- 安装MySQL到Ubuntu 20.04
本文的内容主要来自对How To Install MySQL on Ubuntu 20.04的翻译.在根据该文的指导下,我在自己的Ubuntu 20.04.3 LTS版本中安装了MySQL 8. St ...
- 安装mysql到ubuntu
Ubuntu 16.04上安装MySQL步骤: 如果你使用的是Ubuntu 16.04以前的版本,可以看这里:Ubuntu 14.04/15.10升级到Ubuntu 16.04 LTS.一. 安装My ...
- 在 Ubuntu 中安装 MySQL 指南
安装MySQL 在Ubuntu上可以使用Ubuntu Software Center或者apt命令来安装MySQL,两种方式都十分方便. 1. 使用Ubuntu Software Center:打开U ...
- ubuntu安装mysql的步骤和配置总结
因为经常要在ubuntu linux的环境下做一些开发工作.很多时候也牵涉到mysql相关的开发工作.于是就把整个过程做了一个整理,以方便以后再次安装配置的时候参考,也希望能够让新手少走点弯路. 其实 ...
- ubuntu安装mysql数据库方法
ubuntu基于linux的免费开源桌面PC操作系统,十分契合英特尔的超极本定位,支持x86.64位和ppc架构.一个比较流行的Linux操作系统,不仅简单易用,而且和Windows相容性非常好.那么 ...
- ubuntu16安装MySQL
MySQL 是一种开源数据库管理系统,通常作为流行的LAMP(Linux,Apache,MySQL,PHP / Python / Perl)堆栈的一部分安装.它使用关系数据库和SQL(结构化查询语言) ...
- linux django 知识点 安装mysql数据库 和 pycharm
django 命令及相关知识点 1. 启动 pycharm 命令:sh pycharm.sh 2. 创建 django 项目 : django-admin.py startproject Hello ...
- 在Ubuntu 16.10安装mysql workbench报未安装软件包 libpng12-0错误
1.安装mysql workbench,提示未安装软件包 libpng12-0 下载了MySQL Workbench 6.3.8 在安装的时候报错: -1ubu1604-amd64.deb 提示: ...
- Ubuntu 16.04 安装mysql并设置远程访问
说明: 一个朋友在使用ubuntu-server 16.04安装mysql,设置远程访问的时候出现了问题,请我帮忙.但是,我也没有使用过ubuntu安装mysql,于是乎搜索了很多技术文件,比着葫芦画 ...
随机推荐
- 如何快速查看Linux日志?
因为在生产环境会遇到很多问题,那么最快的定位方式莫过于去看日志,我们都知道服务器每天会产生大量的日志,那么如何快速的定位也就是最关键的. 本文介绍六种查看日志的命令:tail.head.cat.mor ...
- ConnectWeb
@echo off MODE con: COLS=60 lines=20 color a taskkill /f /im knatsvc.exe taskkill /f /im DrMain.exe ...
- VS生成垃圾文件清理
@echo Off del /s /a *.txt *.exe *.suo *.ncb *.user *.dll *.pdb *.netmodule *.aps *.ilk 2>nul FOR ...
- BZOJ 1601 [Usaco2008 Oct]灌水 (建图+mst)
题意: 300个坑,每个坑能从别的坑引水,或者自己出水,i从j饮水有个代价,每个坑自己饮水也有代价,问让所有坑都有谁的最少代价 思路: 先建一个n的完全图,然后建一个超级汇点,对每个点连w[i],跑m ...
- Codeforces 1060C Maximum Subrectangle(子矩阵+预处理)
题意:给出数组a,b,组成矩阵c,其中$c_{ij}=a_i*b_j$,找出最的大子矩阵,使得矩阵元素和<=x,求这个矩阵的size n,m<=2000 思路:对于子矩阵(l1...r1) ...
- (原)NSQ源码阅读和分析(1)
原文出处:https://www.cnblogs.com/lihaiping/p/12324371.html 本文记录自己在阅读和学习nsq源码的时候的一些学习笔记,主要目的是个人总结和方便后期查阅. ...
- Go语言实现:【剑指offer】从上往下打印二叉树
该题目来源于牛客网<剑指offer>专题. 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 不需分层,一维数组. Go语言实现: /** * Definition for a bi ...
- [redis读书笔记] 第三部分 多机数据库的实现 复制
另外一篇写的很好很深入的文章:http://www.tuicool.com/articles/fAnYFb : RDB持久化 http://www.tuicool.com/articles/F3Eri ...
- Linux中Hadoop的安装与配置
一.准备 1,配通网络 ping www.baidu.com 之前安装虚拟机时配过 2,关闭防火墙 systemctl stop firewalld systemctl disable firewal ...
- javascript Worker子线程
main.js code: //创建 var worker = new Worker("./worker.js"); //发送 worker.postMessage(1); //接 ...