最近在学习docker,在直接mysql镜像的时候发现了一些问题。
开始想直接用从docker资源库里下载镜像为了省事,但是出现了问题是。只能启动一个mysql容器,启动第二的时候就不行了。只能保证一个mysql好用。而且每次重启的时候mysql容器暴露给外网的端口都会相对应的改变。从而打算自己做一个镜像。然后就发现了好多坎坷。
1.安装mysql的时候需要依赖的包很多。也是查了好久才总结出来的
yum install -y perl yum install -y libaio yum install -y perl-Module-Install.noarch
安装mysql rpm包的时候前先执行他们吧,不然会安装不全。(经过多次删除镜像从新安装总结出来的)
这样安装好了以后要注意会出这个 里面有mysql初始密码和my.conf的路
2.安装完就要改密码了
通过
/etc/init.d/mysql start 启动mysql,启动成功会提Starting MySQL SUCCESS!
之后使用
mysqladmin -u root -p password 1234
将root密码设为了1234 遇到Enter password:直接回车就好了。一般情况下mysql默认密码是空的
如果出现报错请使用安全模式登录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.
来源:oschina
链接:https://my.oschina.net/u/2519360/blog/778517