[数据库]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 ...
随机推荐
- vue npm安装指令汇总
1.elmentui:npm i element-ui -S 2.打印插件:npm install vue-print-nb --save 3.时间转换插件Moment:npm install mom ...
- js- throw and try-catch-finally
总结一下: 1.throw 抛出错误 2.在使用try-catch时 try{}抛出错误,catch{}块语句才执行,另外catch(e)可创建例如e的标识符,对try{}块抛出异常进行捕捉 3.在使 ...
- jmeter之【报错记录】
{ "code": "E0001", "success": false, "description": "Co ...
- ZXing 生成二维码和条形码(添加NuGet包)
- SQL Server获取连接的IP地址
来源:http://www.itpub.net/thread-193247-1-1.html 先保存,以后研究一下 1 *--获取连接SQL服务器的信息 2 3 所有连接本机的:操作的数据库名,计算机 ...
- WPF dxe:ComboBoxEdit 选择项后并可编辑值
有个需要,在ComboBoxEdit中选择多个值,并且要求可以直接在后面添加新的值. 开始的时候绑定列表,设置DisplayMember,不能修改. 然后绑定List<string>,不设 ...
- liunx服务器搭建jenkins环境
服务器搭建jenkins 持续集成环境(1)-Jenkins安装 1)安装JDK Jenkins需要依赖JDK,所以先安装JDK1.8 yum install java-1.8.0-openjdk* ...
- markdown基本学习
MarkDown学习 标题(二级标题 ##) 标题 字体 加粗(**文字**) 斜体 (*文字*) 加粗+斜体 (***文字***) 废弃 (~~文字~~) 引用(>文字) 摘抄 分割线(--- ...
- Jan Ozer:高清直播互动场景下的硬编码如何选型?
前言 高清直播逐渐普及,硬编码也成为大势所趋.在 RTE 2022 大会上,来自 NETINT 的 Jan Ozer 通过一系列的对比测试结果,详细分享了如何为高清直播互动场景进行硬编码的技术选型. ...
- 推荐一个前后端分离.NetCore+Angular快速开发框架
今天给大家推荐一个开源项目,基于.NetCore开发的.前后端分离.前端有Vue.Angular.MVC多个版本的快速开发框架. 项目简介 这是一个基于.NetCore开发的快速开发框架,项目采用模块 ...