Ubuntu18.04 源码编译安装mysql

安装windows下 的linux 子系统

一、启用子系统功能
按windows键,搜索启用或关闭Windows功能
在下面的框框打勾
在这里插入图片描述
二、重启电脑

按windows键,搜索Microsoft store,搜索 ubuntu

在这里插入图片描述
点击下载,等待安装就行

三、启动
启动后,按照提示输入用户名和密码

默认整个文件系统目录在C盘:(littlejun是用户名)
C:\Users\littlejun\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs
里面的文件系统跟Ubuntu一模一样
windows 的D盘 C盘 在/mnt 目录下可以查看,也就是可以使用windows下的所有目录。

四、卸载

按windows 键,搜Ubuntu 找到软件图标,一般是右键软件图片,然后就可以卸载了

Ubuntu 18.04 镜像源换为aliyun镜像源

打开terminal,备份原文件

sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak

更改源文件

cd /etc/apt/sources.list.d/
//添加阿里云源文件
sudo vim aliyun.list
//添加下面的内容
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

esc 退出编辑模式,shift+:+wq保存退出
输入下面指令激活

sudo apt-get update

Ubuntu18.04 源码安装mysql 并重写存储引擎storage

一、下载源码

进入特权模式:sudo su
这样就可以不用经常切换特权模式

可以选择5.7.18 源码等,传送门
在这里插入图片描述
这里有两个版本的代码,一个带有boost的,一个没有,我们选择下面那个带boost的,可以省很多事,不然还要自己下载boost安装。

下载源码到任何一个合适路径,我放在d盘下的一个forwsl文件夹下面
D:\forwsl
也可以指令下载

解压:

sudo su  //进入特权模式
//这样就可以不用经常切换特权模式
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.18.tar.gz
tar -zxvf mysql-5.7.18.tar.gz

二、安装依赖包

apt install cmake bison libncurses5-dev build-essential

三、编译安装

cd mysql-5.7.18/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=boost
make && make install

四、基本配置

添加用户组,和文件管理

groupadd mysql
useradd -g mysql mysql
mkdir /usr/local/mysql/data
chown -R mysql /usr/local/mysql
chgrp -R mysql /usr/local/mysql

五、初始化mysql

指定数据目录data位置 datadir

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

这个会生成一个很随机的密码,要备份一下:我的是: dEFux53/NejH

六、编辑简单配置文件

注意端口号一般是3306,如果不行,就换别的,比如我的是3307

vim /etc/my.cnf
//添加下面的内容
[client]
socket = /tmp/mysql.sock
 
[mysqld]
port=3307 
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data

七、启动mysql服务

一般启动或暂停模式:support-files/mysql.server start (stop)
下面把启动放到service下,可以快捷启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
update-rc.d mysqld defaults
service mysqld start

可能启动发生下面的错误,就要学会去看error.log

root@localhost mysql]# service mysql restart  
Starting MySQL...[ERROR] The server quit without updating PID file

一般在/usr/local/mysql/data 目录下面 我的是这个:DESKTOP-9I2JAHT.err
其实也可以在,my.cnf 指定error日志目录,如下面那个就很完备,据情况需要添加,有些目录需要先创建,比如logs,tmp,run

像我这个就是发生了端口冲突,所以改成了3307
在这里插入图片描述

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
#设置3306端口
port = 3306
user = mysql 
# 设置mysql的安装目录
basedir=/usr/local/mysql
#mysql数据文件所在位置
datadir=/usr/local/mysql/data/
#临时目录 比如load data infile会用到
tmpdir=/usr/local/mysql/tmp/
##设置socke文件所在目录
socket=/usr/local/mysql/run/mysql.sock
#记录当前 mysqld 进程的 pid
pid-file=/usr/local/mysql/run/mysql.pid
#错误日志文件
log_error=/usr/local/mysql/logs/error.log
#TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp = true
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#授权表中使用主机名了,只能使用IP
skip-name-resolve 
skip-grant-tables
#max_allowed_packet=12800074000
#时区
default-time_zone = '+8:00'

八、启动mysql

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
mysql -uroot -p'dEFux53/NejH'

//重新修改密码 为123456
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
exit 退出

修改一下my.cnf ,添加用户和密码
在这里插入图片描述
重新用新密码登陆
在这里插入图片描述
九、设置远程连接

#所有主机都可以连接

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>flush privileges;
exit

查看linux系统的ip地址:

ifconfig

在这里插入图片描述
navicat 连接成功
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值