Manjaro 安装MySQL

Manjaro 安装MySQL



我又双叒叕在装数据库,前几天记录了在Deepin系统中安装MySQL,后来因为扩展屏不显示,在装N卡驱动的时候不小心把系统搞挂了,后来又换了Manjaro,所有环境全部OK,发现数据库又出问题了,在这里记录一下,如果你们有安装成功的可以给我分享一下


1. 系统信息

image-20221101155144710


2. 自动安装

Manjaro是可以自动安装的,也可以手动安装。我这里因为两种结果都一样,就用自动安装吧

执行以下指令安装MySQL

sudo pacman -S mysql

image-20221101154955518


安装成功,是不是觉得很简单,接下来才是最折磨人的地方(当然,如果没有遇到我这样的问题的话确实很简单)

执行以下指令进行初始化:

mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql

接下来问题来了:

image-20221101155446310

尝试安装一下 icu 依赖库

sudo pacman -S icu

image-20221101155912355


好吧,我已经安装了最新版的,但是版本是 71,然后我去 /usr/lib64 看了一下,果然我只有 libicuuc.so.71 然后我尝试用软连接(个人理解差不多相当于快捷方式)呃……伪装一下吧(以前由高版本创建低版本的软连接尝试过,低版本创建高版本的软连接还没试过)

sudo ln -s /usr/lib64/libicuuc.so.71 /usr/lib64/libicuuc.so.72

然后重新初始化

mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql

提示 libicui18n.so.72 也找不到,同样试用软连接试一下

sudo ln -s /usr/lib64/libicui18n.so.71 /usr/lib64/libicui18n.so.72

再重新初始化之后又报了这样的错误

mysqld: symbol lookup error: mysqld: undefined symbol: _ZTIN6icu_728ByteSinkE

image-20221101160647215

也没有找到相关的资料,我觉得可能是因为 icu 依赖库版本问题,是从低版本建立的高版本软连接,所以不行

然后又试了手动安装,但是也不行,这里就不说了。


但是数据库又是开发必须的,最后被迫只能用Docker解决数据库问题


3. Docker安装

sudo pacman -S docker

将docker添加为系统服务

sudo systemctl start docker.service
sudo systemctl enable docker.service

测试一下docker是否安装成功(也可以试用其他的Docker命令能验证是否安装成功即可)

sudo docker version
sudo docker info

然后每次试用Docker命令都要在前面加上 sudo ,将当前用户添加进用户组解决,这样就不用每次都加 sudo

sudo usermod -aG docker $USER

# 重启系统
reboot

然后通过Docker安装MySQL

访问 MySQL 镜像库地址:https://hub.docker.com/_/mysql?tab=tags

可以通过 Sort by 查看其他版本的 MySQL,默认是最新版本 mysql:latest

image-20221101162300295

执行以下指令拉取MySQL的Docker镜像

# latest为版本,不写默认为最新版
docker pull mysql:latest

# 查看镜像
docker images

之后我们运行MySQL容器

docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

PS:

  • -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
  • MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。

通过 docker ps 命令查看是否安装成功:

image-20221101162931073

进入容器内部

docker exec -it mysql bash     # mysql 是上边运行时为容器取的别名 也可以用id替代

mysql -u root -p

image-20221101164243934

给用户授予权限

use mysql;

grant all privileges on *.*  to 'root'@'%' ; 

image-20221101164428509

刷新权限:

flush privileges;

然后我们在外部连接测试一下

image-20221101201139831


成功!



以上即 Manjaro 安装 MySQL 失败后通过 Docker 容器安装的 MySQL,特此记录!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值