[数据库]Ubuntu Linux/Kylin: 安装MySQL
1 文由
由于安装环境较为特殊,实在折煞人也。而此环境的网络博客/教程偏少,觉得有必要记录一下。
2 环境
安装主机不支持联网 即 不支持APT/APT-GET等傻瓜式的在线安装方式。
- 硬件架构: AARCH64(ARM64架构的V8状态)
- OS: Kylin(国产操作系统:银河麒麟)
- 基于 Ubuntu Linux内核
root@Kylin:~# cat /proc/version
Linux version 4.15.0-72kord1-generic (root@Kylin) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6kord1~16.04.10)) #72kord1 SMP Tue Jan 14 20:23:52 CST 2020
root@Kylin:~# uname -a
Linux Kylin 4.15.0-72kord1-generic #72kord1 SMP Tue Jan 14 20:23:52 CST 2020 aarch64 aarch64 aarch64 GNU/Linux
3 安装过程
- 下载、上传: 支持ARM64的MySQL安装包到目标主机
https://launchpad.net/ubuntu/bionic/arm64/mysql-server
https://launchpad.net/ubuntu/bionic/arm64/mysql-server/5.7.27-0ubuntu0.18.04.1
- 安装: MySQL
dpkg -i mysql-server_5.7.27-0ubuntu0.18.04.1_all.deb
- 初次登陆: MySQL
登陆前,需配置MySQL的socket通信文件(mysqld.sock)
sudo mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
解决方法:
+ 创建sock文件
mkdir /var/run/mysqld/
touch /var/run/mysqld/mysqld.sock
+ 修改文件所有者
chown mysql /var/run/mysqld/mysqld.sock
+ 重启服务
service mysql restart
- 查看用户(debian-sys-maint)初始登陆密码
cat /etc/mysql/debian.cnf
user = debian-sys-maint
password = JALJKBhjpqCfgeIPyo
- 再次登陆
root@Kylin:~# mysql -udebian-sys-maint -pJALJKBhjpqCfgeIPyo
- 修改: 密码
show databases;
use mysql;
update user set authentication_string=PASSWORD("123456") where user='root';
update user set plugin="mysql_native_password";
flush privileges;
quit;
mysql -uroot -p #输入上面查到的临时密码
alter user 'root'@'localhost' identified by '123456';
create user 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
- 配置: 支持远端连接
root@Kylin:~# vi /etc/mysql/mysql.conf.d/mysqld.cnf
root@Kylin:~# mysql -u root -p
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address = 127.0.0.1
bind-address = 0.0.0.0
- 配置: mysql系统级配置
为什么用这种繁琐、效率低下的配置方式?
因为N次尝试直接配置mysqld.cnf文件后,再重启MySQL均失败,实在不得已而为之。
修改/etc/mysql/mysql.conf.d/mysqld.cnf(等同于配置其他常见主流教程中的/etc/mysql/my.cnf)配置:
查找 OS配置文件: find / -name "my.cnf"
查看 MySQL配置项: show variables like 'datadir';
set global thread_cache_size=64;
set global max_allowed_packet=104857600;
100M = 100*1024*1024 = 104857600
set global key_buffer_size = 629145600;
600M = 600*1024*1024 = 629145600
set global query_cache_size = 268435456;
256M = 256*1024*1024 = 268435456
set global max_connections=500;
set global table_open_cache = 1024;
# table_cache 在5.1.3以后叫做 table_open_cache
set global innodb_buffer_pool_size=2147483648;
2048M = 2048*1024*1024 = 2147483648
set global collation_server=utf8_bin;
set global sql_mode='NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES';
set global sort_buffer_size = 6144;
6M = 6*1024= 6144
set global read_buffer_size = 6144;
6M = 6*1024= 6144
set global read_rnd_buffer_size = 8192;
8M = 8*1024 = 8192
set global myisam_sort_buffer_size = 65536;
64M = 64*1024= 65536
set global innodb_flush_log_at_trx_commit = 2;
[read only] 【只能通过配置文件修改,本次安装没有配置成功如下配置项】
set global datadir='/var/lib/mysql/' 【有改动】
set global symbolic-links=0;
set global log_error='/var/log/mysql/error.log'; 【有改动】
set global skip_name_resolve;
# 能让MySQL登陆链接变快速 # 0 关闭支持符号链接
set global lower_case_table_names=0;
set global innodb_log_file_size = 1073741824;
1024M = 1024*1024*1024 = 1073741824
set global innodb_log_files_in_group = 3;
- 配置: MySQL端口
vi /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
port = 1314
- 配置: 字符集编码
【服务端字符集】
set global character_set_server=utf8;
或(推荐↓)
vi /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
character-set-server=utf8
【数据库字符集】[可选]
set global character_set_database=utf8;
【客户端字符集】
vi /etc/mysql/conf.d/mysql.cnf
[mysql]
no-auto-rehash
default-character-set=utf8
查看 MySQL字符集编码: show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
- 配置MySQL服务到系统服务中
systemctl start mysql.service
上述操作失败时,可进行的辅助操作↓
cat /var/log/syslog
service mysql restart
service mysql status
4 文献: 参考与推荐
- arm64架构下Ubuntu安装配置mysql5.7 - 简书
- ubuntu11.04 mysql的安装与配置(my.cnf) - 新浪博客
- Ubuntu19.04 安装 MySQL5.7 数据库(附修改默认字符集) - CSDN
- MySQL安装: Linux(CentOS7/YUM+RPM) | Windows - 菜鸟教程
- [数据库]Windows:安装MySQL[解压版的安装/卸载] (推荐) - 博客园/千千寰宇
- MySQL-Percona Server详细安装步骤 (推荐) - CSDN
- Percona Server for MySQL - Official Site
[数据库]Ubuntu Linux/Kylin: 安装MySQL的更多相关文章
- 怎样在 Ubuntu Linux 上安装 MySQL
本教程教你如何在基于 Ubuntu 的 Linux 发行版上安装 MySQL.对于首次使用的用户,你将会学习到如何验证你的安装和第一次怎样去连接 MySQL. -- Sergiu MySQL 是一个典 ...
- ubuntu linux 中安装 mysql
三种安装方式: 1. 从网上安装 sudo apt-get install mysql-server.装完已经自动配置好环境变量,可以直接使用mysql的命令. 注:建议将/etc/apt/sourc ...
- Linux下安装mysql教程
Linux下安装mysql MySQL官网:https://dev.mysql.com/downloads/mysql/ 到mysql官网下载mysql编译好的二进制安装包,在下载页面Select ...
- Ubuntu 16.04 安装Mysql 5.7 踩坑小记
title:Ubuntu 16.04 安装Mysql 5.7 踩坑小记 date: 2018.02.03 安装mysql sudo apt-get install mysql-server mysql ...
- 【云服务器部署】---Linux下安装MySQL
[云服务器部署]---Linux下安装MySQL 有关如何阿里云ECS建网站,推荐一片文章,我是是通过这篇文章安装tomcat和jdk的 网址:阿里云ECS建网站(建站)超详细全套完整图文教程! 注意 ...
- Linux 下安装mysql 5.7
Linux 下安装mysql 5.7 本人首次安装时按照菜鸟教程的步骤一步一步来的,结果意外的是 装成5.6了,而且各种无厘头的问题,例如无法启动... 本文参照 大佬:‘这个名字想了很久~’ 的&l ...
- linux下安装mysql(rpm文件安装)
数据库包下载: https://www.mysql.com/downloads/ 在GPL开原协议的社区开源版里边下载 我们用mysql community server里边的 其中workbench ...
- linux下安装mysql问题总结(一)mysqld_safe mysqld from pid file /usr/local/mysql/data/mysql.pid ended
linux下安装mysql数据库 linux版本:CentOS release 6.8 (Final) mysql版本:mysql-5.7.16-linux-glibc2.5-x86_64.tar.g ...
- Linux下安装mysql(2) 及常见问题解决(CentOS)
上一篇讲了基本的安装,这篇姑且算作进阶吧 链接Linux下安装mysql(1) 1.准备好mysql的rpm安装包 2.解压并进入usr/local/mysql 3.先执行useradd mysql( ...
- Linux下安装mysql(1)(CentOS)
标题是(1)也就是说这次是基础安装,这种方式安装,没有组的创建,权限管理,配置文件更改等,仅仅是最基本的安装,适合第一次在linux上安装mysql的新手 1.准备好安装包(Linux-Generic ...
随机推荐
- 因为更新了ipykernel 导致 VS Code 中Jupyter 一直处于连接状态的 解决办法
重新安装VS Code 当中的Jupyter插件即可(我选择的是upgrade当前的jupyter插件)
- thymeleaf依赖
<!--thymeleaf模板--> <dependency> <groupId>org.thymeleaf</groupId> <artifac ...
- python扑克牌
import random import operator def auto(): pokers=[] poker=[] for i in ['','','','']: for j in ['A',' ...
- PR2022(Premiere Pro 2022)Mac/win最新中文版
Adobe Premiere Pro 2022 Mac/win是用于专业级别的视频编辑软件,一个基于时间轴的视频处理工具,具有许多用于生成高端视频的不同功能.Adobe Premiere Pro最重要 ...
- doy 20 系统优化
系统优化 1.yum源的优化 CentOS base epel 自建yum仓库使用一个较为稳定的仓库wget -O /etc/yum.repos.d/CentOS-Base.repo h ...
- K8S的基础概念
一.Kubernetes介绍 1.什么是Kubernetes? Kubernetes(通常称为K8s,K8s是将8个字母"ubernete"替换为"8"的缩写) ...
- MySql 在 Linux 下的安装与基础配置
使用版本:Mysql (5.7) Linux(CentOS 7.2) 1.安装 1)下载MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/ ...
- Electron问题记录01:关于electron的notification在win10下不显示问题
0.问题描述 在学习electron官网的notification例程时, 使用官网的代码运行时无法按照预期弹出窗口,在查询官网时发现以下解决方法. 官网解决方法:在 Windows 10 上,您的应 ...
- 1011.Django状态保持以及表单
一.session保持状态 状态保持: 1. http协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状态: 2. 客户端与服务器端的一次通信,就是一次会话实现状态保持的方式:在客户端或服 ...
- springBoot的全局异常处理
GlobalException.java package com.bank.util; import com.bank.exception.ContentEmpyException; import c ...