授权root用户登录

#仅本地登录,修改密码用
alter user root@'localhost' identified with mysql_native_password by'*******@666'; 创建admin用户设置密码,并使得所有位置都可以访问数据库
create user 'admin'@'%' identified with mysql_native_password by 'your_password';
grant all privileges on *.* to 'admin'@'%';
flush privileges; #低版本可这样设置root在任意位置登录
grant all privileges on *.* to 'root'@'%' identified with mysql_native_password by 'your_password' with grant option;
#高版本的应该这样设置
sudo mysql_secure_installation

运行以下命令以创建一个名为newuser的新用户,并授予其只能从特定IP地址访问MySQL服务器的权限

CREATE USER 'newuser'@'IP_address' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'IP_address';
FLUSH PRIVILEGES;

默认情况下,mysql是运行在127.0.0.1上,此时是无法远程被访问的

root@JumpServer-DB-P01:/opt# netstat -tunlp|grep 3306
tcp 0 0 127.0.0.1:33060 0.0.0.0:* LISTEN 59257/mysqld
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 59257/mysqld
root@JumpServer-DB-P01:/opt#

因此需要修改mysqld的配置文件,路径如下

vim /etc/mysql/mysql.conf.d/mysqld.cnf

将127.0.0.1改成0.0.0.0 ,保存并重启mysql服务

修改后再次查看mysql是运行在127.0.0.1上

root@JumpServer-DB-P01:~# netstat -tunlp|grep 3306
tcp 0 0 0.0.0.0:33060 0.0.0.0:* LISTEN 79797/mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 79797/mysqld
root@JumpServer-DB-P01:~#

指定服务器IP、端口登录数据库

mysql -h 10.0.0.1 -P 3306 -u root -p

找到mysql的默认密码在这里:

CentOS:
cat /var/log/mysqld.log
Ubuntu:
cat /etc/mysql/debian.cnf

低版本的mysql默认安装后没有密码,可以如下方式设置密码

sudo mysql -u root
#将 "password" 替换为您要设置的密码。请注意,在新的 MySQL 8.0 版本中,密码策略要求密码长度至少为8个字符,并且必须包含数字、小写字母、大写字母和特殊字符。
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
FLUSH PRIVILEGES;
#1、查看数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| jumpserver |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
#2、使用jumpserver这个数据库
mysql> use jumpserver
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
#3、查看所有的jumpserver库中的表
mysql> show tables;
+---------------------------------------------+
| Tables_in_jumpserver |
+---------------------------------------------+
| accounts_account |
| users_user |
| users_user_groups |
| users_user_user_permissions |
| users_usergroup |
| users_userpasswordhistory |
+---------------------------------------------+
137 rows in set (0.00 sec)
#4、从users_user这个表中计数,算出来22个
mysql> select count(*) from users_user;
+----------+
| count(*) |
+----------+
| 22 |
+----------+
1 row in set (0.01 sec)

查看mysql的进程

root@JumpServer-DB-P01:/opt# ps -ef | grep mysql
mysql 59257 1 0 17:36 ? 00:00:01 /usr/sbin/mysqld
root 60629 53830 0 17:39 pts/0 00:00:00 grep --color=auto mysql
root@JumpServer-DB-P01:/opt#

查看mysql的端口3306和33060

root@JumpServer-DB-P01:/opt# netstat -tunlp
激活Internet连接 (仅服务器)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 971/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1176/sshd: /usr/sbi
tcp 0 0 127.0.0.1:33060 0.0.0.0:* LISTEN 59257/mysqld
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 59257/mysqld
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 31673/redis-server
tcp6 0 0 :::22 :::* LISTEN 1176/sshd: /usr/sbi
tcp6 0 0 ::1:6379 :::* LISTEN 31673/redis-server
udp 0 0 127.0.0.53:53 0.0.0.0:* 971/systemd-resolve
root@JumpServer-DB-P01:/opt#

MySQL数据库基础常用命令8.0版本适用

#查询数据库账户
select user, host from mysql.user;
#删除账户 'zabbix'
drop user 'zabbix'@'%';
#查询数据库
show databases;
#删除数据库zabbix;
drop database zabbix;
#修改账户密码
alter user 'zabbix'@'%' identified by 'Qqqq1234.com';

分割线


从docker环境中的mysql里备份数据库

用docker ps命令定位容器名称叫jms_mysql

history
606 docker exec -it jms_mysql bash
607 docker ps
608 docker cp jms_mysql:/all_db_with_data.sql /root/
root@jumpserver-app-p01:/root#docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3081f875d979 jumpserver/core:v3.0.3 "./entrypoint.sh sta…" 9 days ago Up 9 days (healthy) 8080/tcp jms_core
c9f813565a08 jumpserver/mariadb:10.6 "docker-entrypoint.s…" 9 days ago Up 9 days (healthy) 3306/tcp jms_mysql
207f878b9a66 jumpserver/redis:6.2 "docker-entrypoint.s…" 9 days ago Up 9 days (healthy) 6379/tcp jms_redis
root@jumpserver-app-p01:/root#

进入到jms_mysql容器中

root@jumpserver-app-p01:/root#docker exec -it jms_mysql bash
root@c9f813565a08:/#

导出所有的数据库(此方法数据库版本必须一致)

root@c9f813565a08:/# mysqldump -h127.0.0.1 -P3306 -uroot -pNDIwNURCOTYtMDYzQS01Njg0LT --all-databases > all_db_with_data.sql
root@c9f813565a08:/# ls
all_db_with_data.sql bin boot dev docker-entrypoint-initdb.d etc home lib lib32 lib64 libx32 media mnt opt proc root run sbin srv sys tmp usr var
root@c9f813565a08:/# exit
#存到root目录下
root@jumpserver-app-p01:/opt/jumpserver/config#docker cp jms_mysql:/all_db_with_data.sql /root/
#进入root目录
root@jumpserver-app-p01:/opt/jumpserver/config#cd
#查看文件
root@jumpserver-app-p01:/root#ls
all_db_with_data.sql anaconda-ks.cfg Desktop Documents Downloads initial-setup-ks.cfg jp.sql Music Pictures Public Templates Videos
#传输文件到本地
root@jumpserver-app-p01:/root#sz all_db_with_data.sql

导出指定数据库(以jumpserver数据库为例)

登录数据库查看其中包括的jumpserver数据库名称后退出

MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| jumpserver |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.000 sec) MariaDB [(none)]> exit

用mysqldump导出jumpserver数据库为sql语句

root@c9f813565a08:/# mysqldump -B jumpserver -h127.0.0.1 -uroot -pNDIwNURCOTYtMDYzQS01Njg0LT > jumpserver.sql
root@c9f813565a08:/# ls
jumpserver.sql boot docker-entrypoint-initdb.d home lib lib64 media opt root sbin sys usr
bin dev etc lib32 libx32 mnt proc run srv tmp var
root@c9f813565a08:/# exit
exit

退出容器,在容器内的jumpserver.sql语句cp到容器外的root目录下,最后sz传输到本地

root@jumpserver-app-p01:/root#docker cp jms_mysql:/jumpserver.sql /root/
root@jumpserver-app-p01:/root#ls
all_db_with_data.sql anaconda-ks.cfg Desktop Documents Downloads initial-setup-ks.cfg jp.sql jumpserver.sql Music Pictures Public Templates Videos
root@jumpserver-app-p01:/root#sz jumpserver.sql

进入到目标数据库中,把本地文件上传输到目标服务器的/opt路径下。通过拖拽或者sftp传输均可

root@JumpServer-DB-P01:~# cd /opt
root@JumpServer-DB-P01:/opt# ls
jumpserver.sql redis redis-6.2.10 redis-6.2.10.tar.gz
root@JumpServer-DB-P01:/opt#

在此目录下登录mysql,先创建jumpserver数据库,再执行source 导入表

root@jumpserver-app-t01:#mysql -uroot -p
Enter password: mysql> create database jumpserver default charset 'utf8' collate 'utf8_bin';
Query OK, 1 row affected, 2 warnings (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>

使用jumpserver数据库,然后执行source命令导入表

mysql> use jumpserver;
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
mysql> source /opt/jumpserver.sql
Query OK, 0 rows affected, 1 warning (0.00 sec) Query OK, 0 rows affected, 2 warnings (0.05 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 49 rows affected (0.00 sec)
Records: 49 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.00 sec)
mysql>

检查结果:导入137条完成。

mysql> show tables;
+---------------------------------------------+
| Tables_in_jumpserver |
+---------------------------------------------+
| accounts_account |
| accounts_accountbackupautomation |
| users_user_groups |
| users_user_user_permissions |
| users_usergroup |
| users_userpasswordhistory |
+---------------------------------------------+
137 rows in set (0.00 sec) mysql>

MySQL部署后配置的更多相关文章

  1. mysql部署后无法远程连接的原因(错误代码10061),服务监听127.0.0.1和0.0.0.0的区别

    在Ubuntu上部署mysql服务并添加了一个非root用户后,发现无法远程连接, Navicat连接mysql出现2003——can't connect to mysql server on loc ...

  2. MySQL 复制 - 性能与扩展性的基石 2:部署及其配置

    正所谓理论造航母,现实小帆船.单有理论,不动手实践,学到的知识犹如空中楼阁.接下来,我们一起来看下如何一步步进行 MySQL Replication 的配置. 为 MySQL 服务器配置复制非常简单. ...

  3. centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解

    centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解 操作系统:centos 7.2 x86_64 安装walle系统服务端 1.以下安装,均在宿主机( ...

  4. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  5. window MySQL解压缩版部署及配置

    MySQL安装分为解压文件和直接安装.exe文件 我在官网下载的是解压文件 官网下载地址https://dev.mysql.com/downloads/mysql/ 一.MySQL部署 1.将下载下来 ...

  6. saltsack自动化配置day03:服务部署mysql部署

    一.MySQL集群需求分享 1.抽象:功能模块 把基础的写成通用 服务部署也要抽象出来模块 redis内存有的多,有的少,可以config set在线更改 redis 安装.配置.启动 mysql 安 ...

  7. tomcat配置根目录访问后,部署后第一次访问会出现tomcat的默认界面而非项目首页

    tomcat配置根目录访问后,部署后第一次访问会出现tomcat的默认界面而非项目首页,而重启后会正常,这个原因是因为在配置文件中有如下配置,造成项目加载两次 <Host name=" ...

  8. 重装系统后配置原有的mysql

    1.重装系统后配置原有的mysql 2.修改 my.ini [修改 basedir:MySQL当前所在路径 datadir  数据存放路径] [mysqld] # 设置3306端口 port= # 设 ...

  9. springboot 配置热部署 及 热部署后依旧是404的坑

    springboot配置热部署的教程网上一大堆: 个人喜欢这种方式: https://www.cnblogs.com/winner-0715/p/6666579.html 本文主要强调的是,大家如果配 ...

  10. MYSQL多实例配置与使用教程

    原文http://www.111cn.net/database/mysql/58651.htm 在实际的开发过程中,可能会需要在一台服务器上部署多个MYSQL实例,那建议使用MYSQL官方的解决方案 ...

随机推荐

  1. SpringBoot 后端配置 Https 教程

    以阿里云为例子 1. 申请 SSL 证书 1. 注册域名 打开阿里云官网,搜索域名 点击域名注册,输入域名,点击搜索 选择心仪的域名,点击购买,打钱 进入域名控制台,进行实名认证 2. 申请 SSL ...

  2. fmt 库简介和示例【GO 基础】

    〇.关于 fmt fmt 标准库是 Go 语言标准库的一部分,提供了格式化字符串.输入输出等基本功能.通过 fmt 库,我们可以进行简单的格式化输出.读取用户输入.错误输出等操作. fmt 库实现了类 ...

  3. c语言代码练习13

    //打印九九乘法表#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int x = 0; int y = ...

  4. Go 基础之基本数据类型

    Go 基础之基本数据类型 目录 Go 基础之基本数据类型 一.整型 1.1 平台无关整型 1.1.1 基本概念 1.1.2 分类 有符号整型(int8~int64) 无符号整型(uint8~uint6 ...

  5. 浅谈关于LCA

    prologue 本身只会 tarjan 和 倍增法求LCA 的,但在发现有一种神奇的\(O(1)\) 查询 lca 的方法,时间优化很明显. main body 倍增法 先讨论倍增法,倍增法求 lc ...

  6. 14. 从零开始编写一个类nginx工具, HTTP文件服务器的实现过程及参数

    wmproxy wmproxy将用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,后续将实现websocket代理, 内外网穿透等, 会将实现过程分享出来, 感 ...

  7. 自定义过滤器配置 Shiro 认证失败返回 json 数据

    by emanjusaka from ​ https://www.emanjusaka.top/archives/11 彼岸花开可奈何 本文欢迎分享与聚合,全文转载请留下原文地址. Shiro权限框架 ...

  8. 04-23: dataclasses使用方法

    vehicle_seeds: List[int] = dataclasses.field(default_factory=list) dataclasses 模块提供了一种简洁的方式来定义Python ...

  9. CSP-2023 复赛游记

    10.15 决定以后每天晚上都来. 洛天依也是. 10.16 想住 首旅京伦. 大巴车要求车况良好,保险齐全,进校后限速 20 km是什么鬼啊,新型速度单位. 距离最远的考区相距4公里 懂了,大巴车开 ...

  10. 文心一言 VS 讯飞星火 VS chatgpt (123)-- 算法导论10.4 4题

    四.用go语言,对于一个含 n个结点的任意有根树,写出一个 O(n)时间的过程,输出其所有关键字该树以左孩子右兄弟表示法存储. 文心一言: 在计算机科学中,左孩子右兄弟表示法是一种用于表示树状结构的方 ...