最近在學習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.