Docker安裝MariaDB

Docker安裝MariaDB

 

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*/  
相關文章
相關標籤/搜索