1 docker search mariadb 搜索mariadb鏡像(非必須)html
2 docker pull mariadb 下載docker鏡像mysql
3 docker images 查看本地已有的全部鏡像sql
4 mkdir -p /data/mariadb/data 建一個目錄做爲和容器的映射目錄docker
5 docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=輸入數據庫root用戶的密碼 -v /data/mariadb/data:/var/lib/mysql -d mariadb數據庫
--name啓動容器設置容器名稱爲mariadbbash
-p設置容器的3306端口映射到主機3306端口socket
-e MYSQL_ROOT_PASSWORD設置環境變量數據庫root用戶密碼爲輸入數據庫root用戶的密碼post
-v設置容器目錄/var/lib/mysql映射到本地目錄/data/mariadb/dataurl
-d後臺運行容器mariadb並返回容器idspa
6 docker ps -a 查看容器是否運行
7 docker container update --restart=always 容器id 修改容器爲自啓動
8 進入容器docker exec -it 容器Id bash
9 在容器內登陸數據庫 mysql -uroot -proot密碼
10 修改遠程登陸j及密碼
1、設置遠程登陸: MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec) 2、修改用戶密碼,以root爲例 知道root密碼,須要修改 方法a. 登入數據庫來修改 # mysql -uroot -p /*輸入密碼進入*/ /*第一個方式:直接編輯數據庫字段*/ MariaDB [(none)]> use mysql; MariaDB [mysql]> UPDATE user SET password=password('newpassword') WHERE user='root'; MariaDB [mysql]> flush privileges; MariaDB [mysql]> exit /*第二個方式:修改密碼,不用進入mysql*/ MariaDB [(none)]> SET password for 'root'@'localhost'=password('newpassword'); MariaDB [(none)]> exit; 忘記密碼: # systemctl stop mariadb /*先停掉當前的mysql進程,否則執行下一步說進程已經存在*/ # mysqld_safe --skip-grant-tables & /*後臺直接這個mysql,界面中還會出現日誌,直接ctrl+c進入命令行輸入*/ # ps -ef | grep mariadb /*看進程,會突出顯示--skip-grant-tables*/ mysql 3607 3368 0 18:05 pts/0 00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock # mysql /*直接進入mysql,不須要密碼等,執行第一步中方法a裏兩種方式中任何一種便可*/ MariaDB [(none)]> use mysql; MariaDB [mysql]> UPDATE user SET password=password('newpassword') WHERE user='root'; MariaDB [mysql]> flush privileges; MariaDB [mysql]> exit; /*這個時候用參數--skip-grant-tables啓動的mysql已經會要求輸入密碼才能進入了*/ # pkill mysql /*用pkill來殺,kill不死,kill以後自動起來一個*/ # systemctl start mariadb /*啓動正常的mysql*/