docker中安裝數據庫常見的問題

Mysql怎麼改密碼

MySQL修改root密碼的多種方法
在 Navicat for MySQL 下面直接執行 SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘newpass’); 就可以

方法1: 用SET PASSWORD命令

  mysql -u root

  mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘newpass’);

方法2:用mysqladmin

  mysqladmin -u root password “newpass”

  如果root已經設置過密碼,採用如下方法

  mysqladmin -u root password oldpass “newpass”

方法3: 用UPDATE直接編輯user表

  mysql -u root

  mysql> use mysql;

  mysql> UPDATE user SET Password = PASSWORD(‘root’) WHERE user = ‘root’;

  mysql> FLUSH PRIVILEGES;

在丟失root密碼的時候,可以這樣

  mysqld_safe –skip-grant-tables&

  mysql -u root mysql

  mysql> UPDATE user SET password=PASSWORD(“root”) WHERE user=’root’;
  mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;

  mysql> FLUSH PRIVILEGES;
  這裏寫圖片描述

安裝mysql時容器中遇到的問題

配置centos的docker容器時,在裏面安裝mysql數據庫,以下爲安裝mysql的命令:

yum -y install mariadb*
systemctl start mariadb.service  # 運行到這條報錯  
systemctl enable mariadb.service 

# 設置root有用戶密碼
mysql_secure_installation

當時我配置項目服務器,調用了systemctl命令啓動服務,報錯。
原因及解決方式:
這個的原因是因爲dbus-daemon沒能啓動。其實systemctl並不是不可以使用。將你的CMD或者entrypoint設置爲/usr/sbin/init即可。會自動將dbus等服務啓動起來。

# 在創建docker容器時添加--privileged
docker run --privileged  -it -e "container=docker"  centos  /usr/sbin/init

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章