其实在docker环境下安装mysql-server过程与在本地centos下安装过程一致,只是,在容器内安装时,需启用 systemd 进程,调用 systemctl start | enable mysqld 操作,因此,需要赋予容器特权,否则,出现
docker run -ti --rm --privileged imagedID /usr/sbin/init
使用 --privileged 选项,赋予权限,但是创建容器后,界面无响应,不会直接进入到容器内部,需要调用docker exec 进入:
docker exec -ti 容器名 /bin/bash
将 mysqld 拷贝到 /etc/init.d 中,进入容器后,调用:
/etc/init.d/mysqld start
启动数据库服务器。
言归正卷,如何早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.*"
yum install mysql-community-server
systemctl start mysqld
查看服务状态: systemctl status mysqld
设置开机自启: systemctl enable , snstemctl daemon-reload,
安装,完成后,默认的root密码为空,使用
mysql -uroot -p
回车
进入sql终端,修改root密码
在mysql终端模式下输入:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTFIED BY '123456' WITH GRANT OPTIONS;
远程登陆帐号 root , 密码 123456 可访问所有数据库和表
配置文件 /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