最近在学习docker,在直接mysql镜像的时候发现了一些问题。mysql
开始想直接用从docker资源库里下载镜像为了省事,可是出现了问题是。只能启动一个mysql容器,启动第二的时候就不行了。只能保证一个mysql好用。并且每次重启的时候mysql容器暴露给外网的端口都会相对应的改变。从而打算本身作一个镜像。而后就发现了好多坎坷。sql
1.安装mysql的时候须要依赖的包不少。也是查了很久才总结出来的docker
yum install -y perl yum install -y libaio yum install -y perl-Module-Install.noarch
安装mysql rpm包的时候前先执行他们吧,否则会安装不全。(通过屡次删除镜像重新安装总结出来的)数据库
这样安装好了之后要注意会出这个 里面有mysql初始密码和my.conf的路安全
2.安装完就要改密码了学习
经过ui
/etc/init.d/mysql start 启动mysql,启动成功会提Starting MySQL SUCCESS!
以后使用rest
mysqladmin -u root -p password 1234
将root密码设为了1234 遇到Enter password:直接回车就行了。通常状况下mysql默认密码是空的ip
若是出现报错请使用安全模式登陆mysql具体步骤以下:资源
#1.中止mysql数据库 /etc/init.d/mysqld stop #2.执行以下命令 mysqld_safe --user=mysql --skip-grant-tables --skip-networking & #3.使用root登陆mysql数据库 mysql -u root mysql #4.更新root密码 mysql>use mysql; mysql> UPDATE user SET Password=PASSWORD('1234') where USER='root'; mysql> SET PASSWORD = PASSWORD('1234'); #5.刷新权限 mysql> FLUSH PRIVILEGES; #6.退出mysql mysql> quit #7.重启mysql /etc/init.d/mysqld restart #8.使用root用户从新登陆mysql mysql -uroot -p Enter password: <输入新设的密码1234> #9.mysql受权全部库的全部权限给全部主机 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;
3.