Docker安装MariaDB-10.2

1 docker search mariadb 搜索mariadb镜像(非必须)

2 docker pull mariadb 下载docker镜像

3 docker images 查看本地已有的所有镜像

4 mkdir -p /data/mariadb/data 建一个目录作为和容器的映射目录

5 docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=输入数据库root用户的密码 -v /data/mariadb/data:/var/lib/mysql -d mariadb

  --name启动容器设置容器名称为mariadb

  -p设置容器的3306端口映射到主机3306端口

  -e MYSQL_ROOT_PASSWORD设置环境变量数据库root用户密码为输入数据库root用户的密码

  -v设置容器目录/var/lib/mysql映射到本地目录/data/mariadb/data

  -d后台运行容器mariadb并返回容器id

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*/


复制代码
复制代码
MariaDB [(none)]> select host,user,authentication_string from user;
ERROR 1046 (3D000): No database selected
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [mysql]> select host,user,authentication_string from user;
+-----------+-------------+-------------------------------------------+
| Host      | User        | authentication_string                     |
+-----------+-------------+-------------------------------------------+
| localhost | mariadb.sys |                                           |
| localhost | root        | *02414E122D89A54B387E212E9BE95AA96D9DA3B9 |
| %         | root        | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+-------------+-------------------------------------------+
3 rows in set (0.001 sec)

MariaDB [mysql]> ALTER USER 'root'@'%' IDENTIFIED BY 'xueqing@2020';
Query OK, 0 rows affected (0.002 sec)

MariaDB [mysql]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)

MariaDB [mysql]> select host,user,authentication_string from user;
+-----------+-------------+-------------------------------------------+
| Host      | User        | authentication_string                     |
+-----------+-------------+-------------------------------------------+
| localhost | mariadb.sys |                                           |
| localhost | root        | *02414E122D89A54B387E212E9BE95AA96D9DA3B9 |
| %         | root        | *02414E122D89A54B387E212E9BE95AA96D9DA3B9 |
+-----------+-------------+-------------------------------------------+
3 rows in set (0.001 sec)
复制代码

 

posted on   running-fly  阅读(1566)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
历史上的今天:
2017-08-03 js prototype 原型相关知识
2017-08-03 js对象引用,对象赋值相关知识

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示