linux(docker)配置mysql(远程访问)

1、先确定安装了docker

2、运行命令拉取mysql(修改后面的版本号,可以拉取指定版本的mysql)

docker pull mysql:8.0.28

3、拉取成功之后可以输入命令 docker images 查看

4、我这里拉取的是latest版本的,然后运行命令运行mysql,需要把密码换成你自己设置的密码(其中--name 后面的mysql未设置的名字

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=密码 -d mysql

至此,mysql已经运行起来了,可以输入命令 docker ps查看运行的mysql

 

以下是配置远程访问的

5、运行命令进入容器,其中mysql为运行msyql时设置的名字

docker exec -it mysql bash

6、进入容器之后,就可以输入命令以下命令进入mysql,然后输入刚才设置的密码

mysql -u root -p

=

7、修改远程访问,只需要修改数据库里面mysql数据库里面的user表的权限就可以了,这是之前配置的,方便查看,也就是说把user表里面的User的对应的Host改成%既可以远程访问了

当然如果是添加其他用户访问的话,也是一个原理

8、原理知道了,接下来就好了,只需要运行sql语句既可以,刚才已经进入了mysql了,然后就是修改表数据了

  一定要记着输入语句后面的中文分号

show databases;    //查看数据库,发现有mysql,然后进入

use mysql;   //进入该数据库

show tables;   //不要忘记后面的英文分号,里面会有表格tables

select host,user from user;   //查询user里面的host和user字段

update user set host = '%' where user ='root';  //找到user为root的一行数据,设置host为%

flush privileges;   //运行命令刷新权限

 

 

 

由于我这设置过了,所以直接显示的是% 

 

 

9、然后可以使用数据库软件连接,host就是ip地址,port就是上面第四条设置的3306,用户名为root,密码是自己设置的命令

    另外需要放开服务器的端口3306,否则服务器是不允许访问的,需要登录服务器控制台,修改安全组或者防火墙

其他:如果在修改user数据是出现  Duplicate entry '%-root' for key 'user.PRIMARY'  错误,那有可能是因为已经设置成功了,可以先运行命令刷新权限,然后再查看一下user表的数据,是否设置成功

 

另外:如果是添加其他的账号登录,链接数据库进行以下操作即可

用户名和密码修改为自己的即可

#登录mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lzslov123!';

#添加远程登录用户
CREATE USER 'liaozesong'@'%' IDENTIFIED WITH mysql_native_password BY 'Lzslov123!';
GRANT ALL PRIVILEGES ON *.* TO 'liaozesong'@'%';

 

posted @ 2022-05-07 14:37  狂奔的老鳖  阅读(1677)  评论(0编辑  收藏  举报