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 文献: 参考与推荐

[数据库]Ubuntu Linux/Kylin: 安装MySQL的更多相关文章

  1. 怎样在 Ubuntu Linux 上安装 MySQL

    本教程教你如何在基于 Ubuntu 的 Linux 发行版上安装 MySQL.对于首次使用的用户,你将会学习到如何验证你的安装和第一次怎样去连接 MySQL. -- Sergiu MySQL 是一个典 ...

  2. ubuntu linux 中安装 mysql

    三种安装方式: 1. 从网上安装 sudo apt-get install mysql-server.装完已经自动配置好环境变量,可以直接使用mysql的命令. 注:建议将/etc/apt/sourc ...

  3. Linux下安装mysql教程

    Linux下安装mysql  MySQL官网:https://dev.mysql.com/downloads/mysql/ 到mysql官网下载mysql编译好的二进制安装包,在下载页面Select ...

  4. 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 ...

  5. 【云服务器部署】---Linux下安装MySQL

    [云服务器部署]---Linux下安装MySQL 有关如何阿里云ECS建网站,推荐一片文章,我是是通过这篇文章安装tomcat和jdk的 网址:阿里云ECS建网站(建站)超详细全套完整图文教程! 注意 ...

  6. Linux 下安装mysql 5.7

    Linux 下安装mysql 5.7 本人首次安装时按照菜鸟教程的步骤一步一步来的,结果意外的是 装成5.6了,而且各种无厘头的问题,例如无法启动... 本文参照 大佬:‘这个名字想了很久~’ 的&l ...

  7. linux下安装mysql(rpm文件安装)

    数据库包下载: https://www.mysql.com/downloads/ 在GPL开原协议的社区开源版里边下载 我们用mysql community server里边的 其中workbench ...

  8. 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 ...

  9. Linux下安装mysql(2) 及常见问题解决(CentOS)

    上一篇讲了基本的安装,这篇姑且算作进阶吧 链接Linux下安装mysql(1) 1.准备好mysql的rpm安装包 2.解压并进入usr/local/mysql 3.先执行useradd mysql( ...

  10. Linux下安装mysql(1)(CentOS)

    标题是(1)也就是说这次是基础安装,这种方式安装,没有组的创建,权限管理,配置文件更改等,仅仅是最基本的安装,适合第一次在linux上安装mysql的新手 1.准备好安装包(Linux-Generic ...

随机推荐

  1. android studio 控件

    在Android 开发中,需要使用的控件很多,除了TextView.Button.EditText,还有RadioGroup.CheckBox.Spinner.ImageView 等一大批控件.这些控 ...

  2. SQL Server 错误:特殊符号“•”导致的sql查询问题

    问题描述: 对于一些标题或字符串,例如: 如果导入数据库,就会发现会自动变成?号了: 在进行SQL查询的时候,会出现一个同一条sql语句在mysql直接执行sql可以查询到,但是mssql进行查询的时 ...

  3. web之jquery

    jquery 插件 下载解压插件 加载jQuery  加载插件 插件样式 按照使用例子给元素添加类名,id,函数.

  4. echarts属性大全

    // 全图默认背景  // backgroundColor: 'rgba(0,0,0,0)', // 默认色板 color: ['#ff7f50','#87cefa','#da70d6','#32cd ...

  5. CF 1272 D. Remove One Element

    D. Remove One Element time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  6. 无显示器无键盘的树莓派搭建NAS(samba)

    使用软件Rufus烧录系统2020-02-13-raspbian-buster.img到TF卡后,在TF卡的文件夹内创建空文件ssh,再创建一个名为wpa_supplicant.conf的文件,内容为 ...

  7. JS刷题自制参考知识

    (建议复制到本地,需要看的时候打开Typora,大纲点击要查的内容即可,我一般记不清某个方法的时候就查一下.) 基础 Typescript TypeScript是一个开源的.渐进式包含类型的JavaS ...

  8. 【原创】SeetaFace2 Android编译

    SeetaFace2 github上有很完整的编译说明,但是自己编译过程中还是遇到了一点小问题.记录一下 编译环境: wsl ubuntu 20.04 执行编译命令 cmake .. -DCMAKE_ ...

  9. Angular Material TreeTable Component 使用教程

    一. 安装 npm i ng-material-treetable --save npm i @angular/material @angular/cdk @angular/animations -- ...

  10. FastDFS安装(ARM同样支持)

    一.服务器部署规划 服务器IP 部署服务 192.168.*. tracker.storage.nginx 二.数据存储目录 应用 目录 fastdfs /usr/bin nginx /usr/loc ...