Centos 7 下 docker 容器内安装mysql-server

Centos7 下安装mysql-server

    其实在docker环境下安装mysql-server过程与在本地centos下安装过程一致,只是,在容器内安装时,需启用 systemd 进程,调用 systemctl start |  enable mysqld 操作,因此,需要赋予容器特权,否则,出现

Failed to get D-Bus connection: Operation not permitted 

解决方法1:提供权限

docker run -ti --rm --privileged  imagedID /usr/sbin/init

使用 --privileged 选项,赋予权限,但是创建容器后,界面无响应,不会直接进入到容器内部,需要调用docker exec 进入:

docker exec -ti  容器名  /bin/bash

解决方法2:软启动

将 mysqld 拷贝到 /etc/init.d 中,进入容器后,调用:

/etc/init.d/mysqld start

启动数据库服务器。

一 下载mysql 源安装包并安装

言归正卷,如何早centos7中安装数据,首先下载 mysql  源安装包, 并安装

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm

检测是否安装成功, 或者进入到 /etc//yum/repos.d/ 目录,发现多个几个文件,mysql-community-source.repo, mysql-community.repo

yum repolist enabled | grep "mysql.*-community.*"

二 安装mysql-server

yum install mysql-community-server

三 启动服务

systemctl start mysqld

查看服务状态: systemctl status mysqld

设置开机自启: systemctl enable ,  snstemctl daemon-reload, 

四 修改root密码

 安装,完成后,默认的root密码为空,使用

mysql -uroot -p
回车

进入sql终端,修改root密码

五 远程访问控制

在mysql终端模式下输入:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTFIED BY '123456' WITH GRANT OPTIONS;

远程登陆帐号 root ,  密码 123456 可访问所有数据库和表

六 mysqld默认文件位置

配置文件 /etc/my.cnf
日志文件:/var/log//var/log/mysqld.log 
服务启动脚本:/usr/lib/systemd/system/mysqld.service 
pid-file文件:/var/run/mysqld/mysqld.pid

设置默认字符为utf8, vim  /etc/my.cnf

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

[client]
character_set_server=utf8

[mysql]
character_set_server=utf8

 

你可能感兴趣的:(mysql,centos,mysql)