一、拉取镜像
docker pull hub.c.163.com/library/mysql
二、镜像的使用
docker volume create frame-mysql-data
docker run -d \
--name frame-mysql \
--restart unless-stopped \
-p 10003:3306 \
-e MYSQL_ROOT_PASSWORD='ROOTPWD' \
-e MYSQL_DATABASE='service_frame' \
-e MYSQL_USER='service_frame' \
-e MYSQL_PASSWORD='USERPWD' \
-v frame-mysql-data:/var/lib/mysql \
hub.c.163.com/library/mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
firewall-cmd --permanent --add-port=10003/tcp
firewall-cmd --reload
firewall-cmd --list-all
mkdir -p /home/data/frame/mysql
-v /home/data/frame/mysql/my.cnf:/etc/mysql/my.cnf \
----------------------------------------------------
[mysqld]
skip-host-cache
skip-name-resolve
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
# bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections = 2000
innodb_write_io_threads = 48
innodb_read_io_threads = 48
innodb_thread_concurrency = 0
innodb_buffer_pool_size = 100G
----------------------------------------------------
三、原数据库导出
mysqldump --no-defaults --socket=/home/software/mysql/temp/mysql.sock -u root -p service_frame > /home/service_frame.sql;
ROOTPWD
docker cp service_frame.sql 4f1be0afc16f:/root/bak.sql
四、新数据库导入
mysql -u service_frame -p'USERPWD'
use service_frame
source /root/bak.sql
五、数据库白名单限制
mysql -u root -p'ROOTPWD'
use mysql;
select host,user from user;
delete from user where host='%';
grant all privileges on mysql.* to 'root'@'localhost' identified by 'ROOTPWD' with grant option;
grant all privileges on service_frame.* to 'service_frame'@'localhost' identified by 'USERPWD' with grant option;
grant all privileges on service_frame.* to 'service_frame'@'10.247.43.77' identified by 'USERPWD' with grant option;
grant select on service_frame.* TO 'service_frame_reader'@'10.247.43.77' identified by 'USERPWD';
flush privileges;
select host,user from user;
六、其它
mysql -uroot -p'ROOTPWD'
show databases;
drop database jpress_blog;
CREATE DATABASE `jpress_blog` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin';
CREATE USER 'jpress_blog'@'%' IDENTIFIED BY 'Jb1234!';
GRANT ALL ON jpress_blog.* TO 'jpress_blog'@'%';
use mysql;
select host,user from user;
delete from user where host='%';
grant all privileges on jpress_blog.* to 'jpress_blog'@'%' identified by 'Jb1234!' with grant option;
flush privileges;
mysql -u jpress_blog -p'Jb1234!'
use jpress_blog;
source /home/software/jpress_blog_exp.sql
mysqldump --no-defaults -u jpress_blog -p jpress_blog > /software/jpress_blog.sql;
exit
最后修改:2019-11-21 02:48:02
© 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

发表评论