在WSL下安装MYSQL的实验报告_WSL ubuntu 离线安装 mysql 的艰辛历程

因为使用的是 wsl 就直接 将 mysql 安装包 下载到了 g 盘的 根目录。

cb1293e0a281

mysql第一步.png

将 解压好的包 重命名 为 mysql 放到 /usr/local/ 下面

cb1293e0a281

微信截图_20200304130015.png

3.进入到 /usr/local/ 下 ,创建用户和用户组并授权

groupadd mysql #创建组

useradd -r -g mysql mysql #创建用户

cd mysql/ #进入 mysql 下 授权所有文件

chown -R mysql:mysql ./ # 授权

cb1293e0a281

微信截图_20200304130630.png

在 /usr/local/mysql/ 目录下,创建 data 文件夹

mkdir data

初始化数据库 并且记住随机生成的密码,登录要用(顺利的过程就到这里,接下来,就是我遇到的一系列问题)

在执行下面这段初始化命令的时候:

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

遇到的第一个问题:

bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

尝试使用 apt install libaio 来安装 libaio包,天不遂人愿 根本就没有这个包,提示: Unable to locate package libaio

在我深度的思考下(一顿百度) 发现 好像 apt-get install libaio-dev 可以使用。就在我以为 可以使用的时候 继续执行初始化命令,又得到了新的错误:

cb1293e0a281

微信截图_20200304131828.png

于是我又进入了 深度思考 最后 发现 libaio 包 在ubuntu 下不叫这个名字 叫 libaio1 (哦 谢特 妈惹法克)

果断执行 apt-get install libaio1 安装成功

就在我以为一切都结束了的是时候,又果断的执行了初始化命令,然鹅事情并没有那么简单,我有成功得到了一个新的错误,但是却生成了 随机密码(小小的脑袋 大大的疑惑,这到底是能用还是不能用,最后我选了了忽略错误,正所谓 不影响程序运行的bug 就不是bug,啊哈哈哈哈哈)。 就这样似儿的:

cb1293e0a281

微信截图_20200304132548.png

继续进行了下一步

修改 /usr/local/mysql/ 当前用户

chown -R root:root ./

chown -R mysql:mysql data

创建 my.cnf 文件并授权,注意 在/usr/local/ mysql/ 目录下面

cd cupprot-files/ # 进入到这个目录下

touch my-default.cnf #创建 my-default.cnf 文件

chmod 777 ./my-default.cnf # 给文件授权

cp my-default.cnf /etc/my.cnf # 复制 my.default.cnf 文件到 /etc/ 目录下 并重命名为 my.cnf

配置 my.cnf

vim /etc/my.cnf

vim 中 按 i 进入编辑状态 ,按 esc 退出编辑状态,shift+; 输入命令 wq 保存退出

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging

# changes to the binary log between backups.

# log_bin

# These are commonly set, remove the # and set as required.

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

socket = /tmp/mysql.sock

log-error = /usr/local/mysql/data/error.log

pid-file = /usr/local/mysql/data/mysql.pid

tmpdir = /tmp

port = 5186

#lower_case_table_names = 1

# server_id = .....

# socket = .....

#lower_case_table_names = 1

max_allowed_packet=32M

default-authentication-plugin = mysql_native_password

#lower_case_file_system = on

#lower_case_table_names = 1

log_bin_trust_function_creators = ON

# Remove leading # to set options mainly useful for reporting servers.

# The server defaults are faster for transactions and fast SELECTs.

# Adjust sizes as needed, experiment to find the optimal values.

# join_buffer_size = 128M

# sort_buffer_size = 2M

# read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

开机自启 , 进入 /usr/local/mysql/support-files 进行设置

cd dupport-files/

cp mysql.server /etc/init.d/mysql

chmod +x /etc/init.d/mysql

注册服务 (问题 又 双 叒 来了)

需要使用 chkconfig 来处理 ,根本没有 chkconfig 这个命令,中间的波折就不说了(还是简单的说一下,有小伙子 使用 sysv-rc-conf 来替代 ,我发现我 连 sysv-rc-conf 也没有 ,apt-get update 后,还是不行,进过深度思考以后,最后在 /ect/apt/sources.list 文件夹的末尾添加了 deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse 这段文本后 ,在 apt-get update, 然后 apt-get install sysv-rc-conf ,可算是安装成功了。 然后 到 /usr/sbin/目录下 ,执行 cp sysv-rc-conf chkconfig, 这样 可算是 可以使用 chkconfig,但是这仅仅是我以为的,chkconfig --list 命令可以使用 ,但是 chkconfig --add mysql ,报错 Unknown option:add,没有 add 操作,阿西吧,我的头大了。

),最后的解决办法是到这个网站去下载 chkconfig.deb 文件来安装

https://debian.pkgs.org/8/debian-main-amd64/chkconfig_11.4.54.60.1debian1_all.deb.html

下载好文件以后 通过 dpkg -i chkconfig.deb 安装

完成以后 可算是可以执行 chkconfig -add mysql.

cb1293e0a281

微信截图_20200304141637.png

cb1293e0a281

微信截图_20200304141532.png

/etc/ld.so.conf 配置路径

vim /etc/ld.so.conf

添加 如下内容

/usr/local/mysql/lib

11.配置环境变量

# vim /etc/profile

# source /etc/profile

添加如下内容:

#MYSQL ENVIRONMENT

export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib

登录 ,我以为结束了,然而...

执行 service mysql start

cb1293e0a281

微信截图_20200304142138.png

感觉好像没有成功。

果然,在我 执行 mysql -u root -p 的时候

Command 'mysql' not found

打开 错误日志看看 vim /usr/local/mysql/data/error.log

最主要的 错误信息是:

Please check your OS documentation and install appropriate binary of InnoDB

又进入了深度思考 (一顿百度) 没思考出来,又换个地方思考 ( 必应 )

https://github.com/Microsoft/WSL/issues/3631

这里,我好像找到了 答案。

cb1293e0a281

微信截图_20200304142651.png

上面的 大体意思就是, WSL 不能安装 mysql8,哪怕你是最新版的 mysql 8。 (哦 谢特 妈惹法克),给出的步骤是 删除mysql 8 安装 mysql 5。好像就可以,上面的 安装是在线安装,而我需要的 离线安装 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值