配置过程
Docker容器准备
#拉取镜像
docker pull mysql
#启动并挂载宿主机目录至docker,作为数据存储目录
docker run -itd --name mysql -p 3306:3306 -v /volume2/share/database/mysql:/data javacspring/mysql /bin/bash
#进入容器
docker attach mysql
配置mysql
docker容器启动后,默认mysql执行文件已经添加至环境变量。
ls -ls /usr/bin/mysql*
my.cnf配置
修改/etc/my.cnf内容为
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
#关闭SQL大小写敏感
lower_case_table_names=1
symbolic-links=0
character-set-server=utf8 #防止中文乱码
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
同步修改/etc/my.cnf.d目录下server.cnf文件
[server]
character-set-server=utf8
[mysqld]
datadir=/data/mysql
socket=/var/mysql/mysql.sock
设置数据目录权限
chmod -R 775 /data/mysql
chowm -R mysql:root /dtaa/mysql
初始化表
[root@mysql /]# mysql_install_db
启动守护进程
#开启守护进程
[root@mysql /]# mysqld_safe --defaults-file=/etc/my.cnf &
#确认开启成功
[root@mysql /]# ps -ax | grep msyql | grep -v grep |wc -l
#如果提示无法连接到sock文件,可能是sock文件路径不正确,mysql默认链接到/var/lib/mysq/mysql.sock文件,则可以创建链接
[root@mysql /]# ln -s 配置文件定义sock文件路径 /var/lib/mysql/mysql.sock
#如果启动失败,则查看启动日志
[root@mysql /]# tail -f -n 100 /var/log/mariadb/mariadb.log
#关闭相关进程
[root@mysql /]# kill -9 `ps -ax|grep mysql|grep -v grep | awk '{print $2}'`;grep mysql
初始化数据库
#初始化
[root@mysql /]# mysql_secure_installation
#根据提示操作...
#登录数据库
[root@mysql /]# mysql -u root -p
#确认安装成功
[root@mysql /]# show databases;
数据库远程访问
- 方式一
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'remote_account'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
MariaDB [(none)]> flush privileges;
- 方式二
在mysql.user表中新增记录,其中Host字段为%,如下图: