MySql教程

ubuntu20 安装 mysql5.7.31 , 卸载mysql 8.0, Mysql只能本地登录,无法远程登录

本文主要是介绍ubuntu20 安装 mysql5.7.31 , 卸载mysql 8.0, Mysql只能本地登录,无法远程登录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

ubuntu 18 可以直接命令安装:
# 安装mysql服务
sudo apt-get install mysql-server
# 安装客户端
sudo apt install mysql-client
# 安装依赖
sudo apt install libmysqlclient-dev
# 检查状态
sudo netstat -tap | grep mysql

ubuntu 20 默认安装mysql 8,所以要手动安装

# 新建目录
mkdir mysql5.7.31

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar


mv mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar ./mysql5.7.31

# 解压
cd mysql5.7.31
sudo tar -vxf mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar

# 解压出来的deb安装包如下:
libmysqlclient20_5.7.31-1ubuntu18.04_amd64.deb
mysql-client_5.7.31-1ubuntu18.04_amd64.deb
mysql-community-source_5.7.31-1ubuntu18.04_amd64.deb
mysql-server_5.7.31-1ubuntu18.04_amd64.deb
mysql-common_5.7.31-1ubuntu18.04_amd64.deb
mysql-testsuite_5.7.31-1ubuntu18.04_amd64.deb
libmysqlclient-dev_5.7.31-1ubuntu18.04_amd64.deb
mysql-community-client_5.7.31-1ubuntu18.04_amd64.deb
mysql-community-server_5.7.31-1ubuntu18.04_amd64.deb
libmysqld-dev_5.7.31-1ubuntu18.04_amd64.deb
mysql-community-test_5.7.31-1ubuntu18.04_amd64.deb

# 删除2个测试相关的包
sudo rm -f mysql-testsuite_5.7.31-1ubuntu18.04_amd64.deb
sudo rm -f mysql-community-test_5.7.31-1ubuntu18.04_amd64.deb

# 安装依赖
sudo apt-get install libtinfo5
sudo apt-get install libmecab2

# 使用deb安装
sudo dpkg -i mysql-*.deb

安装完毕,密码为
grep"temporary password" /var/log/mysqld.log


sudo netstat -tap | grep mysql
或:
sudo service mysql status
如果报错:masked
sudo systemctl unmask mysql.service

 

 

如果错误安装需要彻底卸载:
sudo apt purge mysql-*

sudo rm -rf /etc/mysql/ /var/lib/mysql

sudo apt autoremove

sudo apt autoclean
dpkg 清理
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

如果mysql8.0卸载提示各种依赖问题,可以用如下命令逐个删除。
dpkg --list | grep mysql  找到mysql 8的软件包
dpkg -P   +软件包名称      这样一个个删除


netstat -apn |grep 3306
如果输出结果包括tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -时,说明监听的host为127.0.0.1,只能本地访问,需要设置监听host:
需要修改监听的host
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address = 127.0.0.1, 即#bind-address = 127.0.0.1
重启服务
sudo /etc/init.d/mysql restart
查看端口状态
netstat -apn |grep 3306
此时应为:tcp6 0 0 :::3306 :::* LISTEN -

 


下面就介绍一下这几个目录。

1、数据库目录

/var/lib/mysql/

2、配置文件

/usr/share/mysql(mysql.server命令及配置文件)

3、相关命令

/usr/bin(mysqladmin mysqldump等命令)

4、启动脚本

/etc/rc.d/init.d/(启动脚本文件mysql的目录)

五、修改登录密码

MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。

1、命令

usr/bin/mysqladmin -u root password 'new-password'

格式:mysqladmin -u用户名 -p旧密码 password 新密码

2、例子

例1:给root加个密码123456。

键入以下命令 :

[root@test1 local]# /usr/bin/mysqladmin -u root password 123456

注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
update mysql.user set host = '%' where user = 'root';

 


docker run --name my_phpadmin_2020 -d -p 8081:80 --restart=always -e PMA_HOST=172.17.0.1 -e PMA_PORT=3306 -e TZ="Asia/Shanghai" phpmyadmin/phpmyadmin

参数解析:-d 后台运行容器,并返回容器ID;--name 为容器起一个容易区分且容易书写的名字-p 映射宿主机端口到容器端口,宿主机端口:容器端口--restart=always 机器重启时自动启动容器-e       设定一些必须的环境变量。          -e TZ="Asia/Shanghai" 设定时区为上海,强烈建议国内设定,否则容器内打印的所有日志时间都会差8小时。          -e PMA_HOST=192.168.197.129 -e PMA_PORT=3306 设定数据库的访问地址。-v       挂载宿主机文件到容器。          -v /www/my_admin/config.inc.php:/var/www/html/config.inc.php 绑定挂载文件


sudo docker run --name my_phpadmin_2022 -d -p 8082:80 --restart=always -e PMA_HOST=172.17.0.1 -e PMA_PORT=3306 -v /home/shxd/config.inc.php:/var/www/html/config.inc.php -e TZ="Asia/Shanghai" phpmyadmin/phpmyadmin

 

 

Mysql只能本地登录,无法远程登录

  netstat -apn |grep 3306  如果输出结果包括tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -时,说明监听的host为127.0.0.1,只能本地访问,需要设置监听host: 需要修改监听的host  sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf  注释掉bind-address = 127.0.0.1, 即#bind-address = 127.0.0.1 重启服务  sudo /etc/init.d/mysql restart 查看端口状态  netstat -apn |grep 3306  此时应为:tcp6 0 0 :::3306 :::* LISTEN -   修改用户表 当远程访问出现not allowed的提示消息时,说明远程用户无权限,则需要修改用户    表:  1. 登录数据库  mysql -u root -p  2. 选择数据库  use mysql;  3. 修改root用户可以在所有机器登录(root只是举例,%表示所有机器)  update user set host = '%' where user = 'root';  4. 重启服务  sudo /etc/init.d/mysql restart
这篇关于ubuntu20 安装 mysql5.7.31 , 卸载mysql 8.0, Mysql只能本地登录,无法远程登录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!