授权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. 【python技巧】文本处理-re库字符匹配

    目录 1. 正则表达式 1.1 测试工具 1.2 限定符 1.3 字符集 1.4 运算符 1.5 元字符 1.6 懒惰匹配和贪婪匹配 我们读取文件内容,肯定不是单纯为了输出或者重新写入,对于文本我们一 ...

  2. destoon根据标题删除重复数据

    因为采集数据比较庞大,难免出现重复数据,所以写了一个根据标题进行删除重复数据的mysql命令,需要的朋友可以使用. 1 2 3 4 DELETE from destoon_article_36 whe ...

  3. ts 终于搞懂TS中的泛型啦! | typescript 入门指南 04

    大家好,我是王天~ 这篇文章是 ts入门指南系列中第四篇,主要讲解ts中的泛型应用,泛型在ts中是比较重要的概念,我花挺长时间才搞明白的,希望能帮助到大家 ~ ** ts 入门指南系列 ** Ts和J ...

  4. 黄金眼PAAS化数据服务DIFF测试工具的建设实践

    一.背景介绍 黄金眼PAAS化数据服务是一系列实现相同指标服务协议的数据服务,各个服务间按照所生产指标的主题作划分,比如交易实时服务提供实时交易指标的查询,财务离线服务提供离线财务指标的查询.黄金眼P ...

  5. kubernetes发布周期

    前言 页面介绍了版本发布的一些时间点和PR的要求,通过了解k8s的发布周期来规划自己的版本选择. 合并PR的要求 如果你希望将你的代码合并到官方代码仓库中,不同的开发阶段需要有不同的标签和里程碑.也是 ...

  6. 将.View.dll文件反编译出来的*Views*.cs文件转换成.cshtml

    先使用反编译工具将.View.dll文件反编译放入文件夹,然后将文件夹整体复制进\src\viewcs2cshtml\viewcs2cshtml\bin\Debug\net6.0\viewcs 复制完 ...

  7. c#中适配器模式详解

    基础介绍:   想象这样一个场景,原项目中接口返回的数据是XML格式的数据,但现在来了一个新客户,它期望接口返回的数据类型为json格式的.   想要实现要么就是改原有接口,但这样就违反了开闭原则,容 ...

  8. c#中工厂模式详解

    总体介绍:   工厂模式主要有三种类型:简单工厂.工厂方法和抽象工厂,该模式用于封装和管理对象的创建,是一种创建型模式.   万物皆对象,创建对象时必然需要new该对象,当需要更改对象时,需要把项目中 ...

  9. 记录一下我的ctf比赛的web题目

    Web之getshell: 具体代码如下 <?php highlight_file(__FILE__); error_reporting(0); echo "<h1>WEL ...

  10. STM32CUBEIDE中 Debug 和 Release 的作用/区别/使用场景

    基本主流IDE都有该功能选项例如Keil MDK, IAR, Eclipse, VS等, 这里使用STM32CUBEIDE来举例 创建STM32CUBEIDE工程后默认有2个目标选项 Debug / ...