Centos7 docker安装MySQL

Docker MySQL

安装 MySQL 镜像

# docker pull mysql:5.7

运行 mysql

docker run  --restart=always --privileged=true --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root  -d mysql:5.7 --lower_case_table_names=1 

参数说明:

--restart=always 跟随docker启动
--privileged=true 容器root用户享有主机root用户权限
-v 映射主机路径到容器
-e MYSQL_ROOT_PASSWORD=root 设置root用户密码
-d 后台启动
--lower_case_table_names=1 设置表名参数名等忽略大小写

进入mysql命令行

docker exec -it mysql bash //mysql是启动的服务name

登录

mysql -uroot -proot

授权远程登录

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

修改mysqld.cnf

#如果没有vi命令
apt-get update

#更新源
apt-get install vim

查看mysql字符集

SHOW VARIABLES LIKE 'character_set_%';
SHOW VARIABLES LIKE 'collation_%';

设置外部访问编码

SET NAMES 'utf8';

修改mysql配置文件修改utf-8编码

mkdir docker
cp /etc/mysql/mysql.conf.d/mysqld.cnf /docker/mysqld.cnf

修改配置文件mysqld.cnf内容

[mysql]
default-character-set = utf8


[mysql_safe]
default-character-set = utf8


[client]
default-character-set = utf8


[mysqld]
pid-file      = /var/run/mysqld/mysqld.pid
socket        = /var/run/mysqld/mysqld.sock
symbolic-links=0
init_connect  = 'SET NAMES utf8'
character-set-server = utf8
collation-server = utf8_unicode_ci

将容器的配置文件覆盖回去

cp /docker/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf

重启容器

docker stop container_id
docker start container_id

你可能感兴趣的:(MYSQL)