ubuntu18 安装mysql 5.7/5.6

新来了个ubantu服务器,准备压测一番,先部署一波软件呗

操作系统 Ubuntu 18.04.4 LTS (GNU/Linux 4.4.189 aarch64) ,注意是arm64

1.安装mysql 5.7(参考https://zhuanlan.zhihu.com/p/64080934)
sudo apt update

#默认安装了mysql 5.7
sudo apt install mysql-server -y
#查看最终安装结果
sudo apt list --installed |grep mysql 或者 sudo dpkg -l |grep mysql
sudo service mysql status

2.配置 mysql 5.7

【设置密码】
#查看默认密码
cat /etc/mysql/debian.cnf ,可以看到user和password

 使用该账号密码登录后,再修改root账号密码

mysql> use mysql;
mysql> update mysql.user set authentication_string=password('xxxxxxxxx') where user='root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxxxxxxx' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON*.*TO'root'@'locahost' IDENTIFIED BY 'xxxxxxxxx' WITH GRANT OPTION;
mysql> flush privileges;

#检测新密码

本机连接mysql,成功;

使用其他机器连接mysql,失败:排查发现端口3306不通
netstat -nltp|grep 3306,说明3306只绑定了127.0.0.1(localhost)

vim /etc/mysql/mysql.conf.d/mysqld.cnf,注释掉‘bind-address            = 127.0.0.1’这行

  重启mysql后,其他机器连接该服务器的mysql成功!!!

 

 

 

项目中使用报错

 

 

 

 

 

查阅资料发现是mysql版本和驱动版本不匹配https://www.cnblogs.com/like3ong/p/14889333.html,故需要重新安装mysql 5.6

3.安装mysql 5.6

3.1.卸载原来的mysql(参考https://www.jianshu.com/p/ea8b705f0915 )

首先在终端中查看MySQL的依赖项:dpkg --list|grep mysql

卸载: sudo apt-get remove mysql-common

卸载:sudo apt-get autoremove --purge mysql-server-5.7

清除残留数据:dpkg -l|grep ^rc|awk '{print$2}'|sudo xargs dpkg -P

再次查看MySQL的剩余依赖项:dpkg --list|grep mysql

继续删除剩余依赖项,如:sudo apt-get autoremove --purge mysql-apt-config

 

3.2 apt源安装

参考https://www.osetc.com/archives/20436.html

使用旧源安装mysql 5.6,有部分库不存在了,故未成功

 

3.3 docker安装

官方仓库无相应镜像,找了一下基本都是自己做镜像,决定再换个方法。

 

3.4 源码编译安装

参考https://blog.csdn.net/KevinHades/article/details/88692551

报错贼多/(ㄒoㄒ)/~~,咱不管

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install cmake -y(默认3.10.2)跨平台编译工具,这个要看每一个版本的mysql需要至少多少版本的各种工具

apt-get install make(默认4.1);

apt-get install gcc g++gcc编译工具和g++编译器(默认都是4.7.3)

apt-get install libncurses5 libncurses5-dev安装ncurses库,不知道啥的就去查,也可以不用知道

apt-get install bison安装bison库(默认是2.3版本)

#下载源码

cd /home/develop/mysql/

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.43.tar.gz

解压

cd /home/develop/mysql/mysql-5.6.43/

#安装位置

mkdir /usr/local/mysql
mkdir /usr/local/mysql/data

#编译安装

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data

make -j4&& make -j4 install

#配置文件

新增/etc/mysql/my.cnf

 #配置环境变量

vim /etc/profile

 source /etc/profile

#初始化数据库

/usr/local/mysql/scripts/mysql_install_db  --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

#按提示进行检验

 /usr/local/mysql/bin/mysqld_safe &

  •  创建空日志文件 touch /usr/local/mysql/mysqld.log

#配置自启动服务

cp -rp support-files/mysql.server  /etc/init.d/mysql

cp -rp /usr/local/mysql/support-files/mysql.server  /etc/systemd/system/mysql.server

systemctl daemon-reload

#启动mysql

systemctl  start mysql

  • 可能是/usr/local/mysql/mysql.pid文件没有写的权限( 需创建mysql用户组,mysql相关文件权限更改)
  • 解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld

【设置密码】

编辑/etc/my.cnf, 在[mysqld] 配置部分添加一行 skip-grant-tables;

重启mysql,mysql -uroot -p直接回车

mysql> use mysql;

mysql> update user set password=password("123456") where user='root';

mysql> flush privileges;

删除/etc/my.cnf文件中添加的“skip-grant-tables”行,重启mysql即可;

#校验结果

mysql -uroot -p123456

mysql> use mysql;

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

至此,mysql 5.6安装完成!

posted @   huangyn  阅读(1469)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示