群晖 docker 安装 mysql

1、加载msyql 镜像 最好是指定版本,当前指定为 5.7.9

配置容器的时候需要指定 mysql root 的密码 需要在环境添加参数才能启动:
MYSQL_ROOT_PASSWORD=123456

image.png

安装 net-tools 与 vim 工具

apt-get update
apt-get install net-tools
apt-get install vim
image.png

2、登陆mysql 配置远程管理

#登陆mysql
mysql -u root -p
#输入密码登陆成功后,配置远程管理

GRANT ALL ON *.* TO 'root'@'%';
mysql> use mysql; 
mysql> GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '远程登录密码' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;


flush privileges;

执行界面

3、修改数据库路径

    / 默认目录如下
    ├─ /var/lib/mysql  日志文件,数据库文件
    ├─ /var/log/mysql/error.log    错误日志

    / 最终需要修改的目录
    ├─ /home/data  日志文件,数据库文件
    ├─  /home/logs/error.log    错误日志

配置目录权限

mkdir  -p /home/data
mkdir  -p /home/logs
chown -R mysql:mysql /home/data
chown -R mysql:mysql /home/logs
chmod -R 755 /home
chmod -R 755 /home/data
chmod -R 755 /home/logs

#注意 如果上面没有配置home的访问权限,修改了配置后容器是没办法启动的。
#检查访问权限 切换成mysql用户
su - mysql
#在mysql用户里面访问 /home/data目录
cd /home/data
#如果提示 can’t cd to /home/data  则需要返回root用户配置目录权限
chmod -R 755 /home

复制原有数据库文件到新的路径上

cp -r /var/lib/mysql/* /home/data
image.png

修改配置文件 /etc/mysql/my.cnf

vim /etc/mysql/my.cnf
修改配置my.cnf文件

修改执行文件里面 /etc/init.d/mysql 的datadir 目录

vim /etc/init.d/mysql
image.png

统一数据库 编码配置,解决备份与导入导出中文乱码问题。
创建数据库规范: 字符集:utf8mb4 排序规则:utf8mb4_general_ci


image.png

mysql 配置为 使用 utf8mb4的编码

安装好后默认配置

show variables like 'char%';
image.png

需要修改配置文件 /etc/mysql/my.cnf
添加:

# client
character_set_client=utf8mb4
character_set_connection=utf8mb4

#mysqld
character_set_server=utf8mb4

image.png
image.png

优化

group_concat 有长度限制!!!!默认1024

需要修改配置文件 /etc/mysql/my.cnf

#mysqld 最后面添加
group_concat_max_len = 102400

重启生效

推荐阅读更多精彩内容