安装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,于是乎搜索了很多技术文件,比着葫芦画 ...
随机推荐
- LeetCode 547. Friend Circles 朋友圈(C++/Java)
题目: https://leetcode.com/problems/friend-circles/ There are N students in a class. Some of them are ...
- A Hybrid Data Association Framework for Robust Online Multi-Object Tracking(2017 IEEE Transactions on Image Processing)
A Hybrid Data Association Framework for Robust Online Multi-Object Tracking 一种用于鲁棒在线多目标跟踪的混合数据关联框架 摘 ...
- GTMD并查集!
徐州的A我因为并查集写错T了整场.. int find(int x){ return fa[x]==x?x:fa[x]=find(fa[x]); } GTMD!
- 《Python学习手册 第五版》 -第3章 你应如何运行Python程序
在这里,运行Python程序的前提是你的电脑已经配置Python相关的运行环境,如何配置可以通过本书的附件查看,也可以自行通过网络查询配置,在此不再赘述 运行一个Python程序,主要有6种方式 1. ...
- Hapi+MySql项目实战自动化文档生成(四)
自动化生成swagger文档 使用hapi插件hapi-swagger,简单配置下插件,先修改下plugin_config.js文件: //plugin_config.js const Swagger ...
- windows10 CTCP
windows上除了普通tcp之外,有一个CTCP. 据说可以提升长延时情况下的吞吐量. win7可以方便的通过netsh int tcp set global congestionprovider= ...
- vue路由--静态路由
vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来.传统的页面应用,是用一些超链接来实现页面切换和跳转的.在vue-router单页面应用中,则是路径之间的切换,也就是 ...
- NCE L5
课文内容 重点单词解析 重点课文解析
- java循环示例
用while循环计算100之内的奇数和偶数和 public class Test{ public static void main(String[] args){ int sum=0; int num ...
- 使用C#的计时器加观察者模式完成报警推送需求
前言 这两天面试了一个物联网公司高级研发,面试题是下面这样子 公司领导,部门主管,小组组长,组成员4级,假如有个 疫情预警,先通知组人员(对个人,主要有一个处理就算处理了) 如果3分钟没处理,就往组长 ...