首先我 按部就班的 跟著教程走硬贯,這個 教程經(jīng)過 在 真正的 centos 上 實驗成功。教程如下
https://blog.csdn.net/atongmu2017/article/details/90610444
- 先下載 解壓 mysql 安裝包
安裝包下載地址:https://dev.mysql.com/downloads/file/?id=492725
因為使用的是 wsl 就直接 將 mysql 安裝包 下載到了 g 盤的 根目錄掠兄。
-
將 解壓好的包 重命名 為 mysql 放到 /usr/local/ 下面
3.進入到 /usr/local/ 下 鄙币,創(chuàng)建用戶和用戶組并授權(quán)
groupadd mysql #創(chuàng)建組
useradd -r -g mysql mysql #創(chuàng)建用戶
cd mysql/ #進入 mysql 下 授權(quán)所有文件
chown -R mysql:mysql ./ # 授權(quán)
- 在 /usr/local/mysql/ 目錄下傅物,創(chuàng)建 data 文件夾
mkdir data
- 初始化數(shù)據(jù)庫 并且記住隨機生成的密碼,登錄要用(順利的過程就到這里蕴茴,接下來劝评,就是我遇到的一系列問題)
在執(zhí)行下面這段初始化命令的時候:
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
在我深度的思考下(一頓百度) 發(fā)現(xiàn) 好像 apt-get install libaio-dev 可以使用蒋畜。就在我以為 可以使用的時候 繼續(xù)執(zhí)行初始化命令,又得到了新的錯誤:
于是我又進入了 深度思考 最后 發(fā)現(xiàn) libaio 包 在ubuntu 下不叫這個名字 叫 libaio1 (哦 謝特 媽惹法克)
果斷執(zhí)行 apt-get install libaio1 安裝成功
就在我以為一切都結(jié)束了的是時候撞叽,又果斷的執(zhí)行了初始化命令百侧,然鵝事情并沒有那么簡單,我有成功得到了一個新的錯誤能扒,但是卻生成了 隨機密碼(小小的腦袋 大大的疑惑佣渴,這到底是能用還是不能用,最后我選了了忽略錯誤初斑,正所謂 不影響程序運行的bug 就不是bug辛润,啊哈哈哈哈哈)。 就這樣似兒的:
繼續(xù)進行了下一步
- 修改 /usr/local/mysql/ 當(dāng)前用戶
chown -R root:root ./
chown -R mysql:mysql data
- 創(chuàng)建 my.cnf 文件并授權(quán),注意 在/usr/local/ mysql/ 目錄下面
cd cupprot-files/ # 進入到這個目錄下
touch my-default.cnf #創(chuàng)建 my-default.cnf 文件
chmod 777 ./my-default.cnf # 給文件授權(quán)
cp my-default.cnf /etc/my.cnf # 復(fù)制 my.default.cnf 文件到 /etc/ 目錄下 并重命名為 my.cnf
- 配置 my.cnf
vim /etc/my.cnf
vim 中 按 i 進入編輯狀態(tài) ,按 esc 退出編輯狀態(tài)砂竖,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 進行設(shè)置
cd dupport-files/
cp mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
- 注冊服務(wù) (問題 又 雙 叒 來了)
需要使用 chkconfig 來處理 ,根本沒有 chkconfig 這個命令乎澄,中間的波折就不說了(還是簡單的說一下突硝,有小伙子 使用 sysv-rc-conf 來替代 ,我發(fā)現(xiàn)我 連 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/目錄下 腐宋,執(zhí)行 cp sysv-rc-conf chkconfig, 這樣 可算是 可以使用 chkconfig檀轨,但是這僅僅是我以為的胸竞,chkconfig --list 命令可以使用 ,但是 chkconfig --add mysql ,報錯 Unknown option:add参萄,沒有 add 操作卫枝,阿西吧,我的頭大了拧揽。
)剃盾,最后的解決辦法是到這個網(wǎng)站去下載 chkconfig.deb 文件來安裝
https://debian.pkgs.org/8/debian-main-amd64/chkconfig_11.4.54.60.1debian1_all.deb.html
下載好文件以后 通過 dpkg -i chkconfig.deb 安裝
完成以后 可算是可以執(zhí)行 chkconfig -add mysql.
- /etc/ld.so.conf 配置路徑
vim /etc/ld.so.conf
添加 如下內(nèi)容
/usr/local/mysql/lib
11.配置環(huán)境變量
# vim /etc/profile
# source /etc/profile
添加如下內(nèi)容:
#MYSQL ENVIRONMENT
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
- 登錄 腺占,我以為結(jié)束了淤袜,然而...
執(zhí)行 service mysql start
、
感覺好像沒有成功衰伯。
果然铡羡,在我 執(zhí)行 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
又進入了深度思考 (一頓百度) 沒思考出來,又換個地方思考 ( 必應(yīng) )
https://github.com/Microsoft/WSL/issues/3631
這里意鲸,我好像找到了 答案烦周。
上面的 大體意思就是, WSL 不能安裝 mysql8怎顾,哪怕你是最新版的 mysql 8读慎。 (哦 謝特 媽惹法克),給出的步驟是 刪除mysql 8 安裝 mysql 5槐雾。好像就可以夭委,上面的 安裝是在線安裝,而我需要的 離線安裝 募强。