shell腳本
/usr/local/docker/mysql/conf/start.sh
#!/bin/bash
cur_dir=`pwd`
docker stop mysql_5_7
docker rm mysql_5_7
docker run -p 3307:3306 --name mysql_5_7 -v /usr/local/docker/mysql/conf:/etc/mysql -v /usr/local/docker/mysql/logs:/var/log/mysql -v /usr/local/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e TZ="Asia/Shanghai" -d mysql:5.7
編碼配置
/usr/local/docker/mysql/conf/my.cnf
[mysqld]
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
遠(yuǎn)程連接mysql
- 首先確認(rèn)是否是用戶權(quán)限問(wèn)題導(dǎo)致,如果是則按以下方式修改登錄用戶權(quán)限
docker exec -it mysql_5_7 bash
mysql -uroot -p
use mysql
grant all privileges on *.* to root@'%' identified by "password";
flush privileges;
- 如果以上修改后還無(wú)法連接,可能是主機(jī)路由轉(zhuǎn)發(fā)功能未開啟
Linux默認(rèn)是禁止路由轉(zhuǎn)發(fā)功能
路由轉(zhuǎn)發(fā)即當(dāng)主機(jī)擁有多于一塊的網(wǎng)卡時(shí)睬捶,其中一塊收到數(shù)據(jù)包梯刚,根據(jù)數(shù)據(jù)包的目的ip地址將數(shù)據(jù)包發(fā)往本機(jī)另一塊網(wǎng)卡,該網(wǎng)卡根據(jù)路由表繼續(xù)發(fā)送數(shù)據(jù)包缀去。這通常是路由器所要實(shí)現(xiàn)的功能。
vim /etc/sysctl.conf
添加一行配置:net.ipv4.ip_forward=1
service network restart