|NO.Z.00006|——————————|^^ 构建 ^^|——|Mysql&Mariadb&yum部署配置.V2|
一、mysql数据库的常用操作:
MariaDB [(none)]> use mysqlclone // use把当前访问的数据库切换到目标数据库
Database changed
MariaDB [mysqlclone]> show tables; // 查看这个数据库中有哪些表
MariaDB [mysqlclone]> select * from user; // 查询user这个表里的内容;
MariaDB [mysqlclone]> select * from user\G // 加\G表示横着往下写
MariaDB [mysqlclone]> drop database mysqlclone; // 删掉数据库mysqlclone
Query OK, 24 rows affected (0.07 sec)
MariaDB [mysqlclone]> drop tables mysqlclone; // 删掉数据库里的表
MariaDB [(none)]> system id
uid=0(root) gid=0(root) groups=0(root)
MariaDB [(none)]> select user(); // 查看当前登录的用户
MariaDB [mysql]> select user,password,host from user; // 查看服务器中创建的用户信息
+------+----------+-----------------------+
| user | password | host |
+------+----------+-----------------------+
| root | | localhost | // 密码是空的
| root | | localhost.localdomain |
| root | | 127.0.0.1 |
| root | | ::1 |
| | | localhost |
| | | localhost.localdomain |
+------+----------+-----------------------+
6 rows in set (0.00 sec)
二、设置mysql数据库的密码安全:
### --- 执行系统自带的安全脚本
[root@localhost ~]# which mysql_secure_installation
/usr/bin/mysql_secure_installation
[root@localhost ~]# mysql_secure_installation
Enter current password for root (enter for none): // 输入当前root账号的口令,没有口令直接回车
Set root password? [Y/n] y // 是否设置root账号的密码
New password: // 新密码
Re-enter new password: // 再次输入密码
Remove anonymous users? [Y/n] y // 是否删除匿名账号
Disallow root login remotely? [Y/n] n // 是否精致root账号远程登录
Remove test database and access to it? [Y/n] y // 是否删除测试数据库
Reload privilege tables now? [Y/n] // 加载特权表为的就是让你刚才的设置生效
[root@localhost ~]# mysql -uroot -p123456 // 登录mysql数据库
MariaDB [(none)]> use mysql
MariaDB [mysql]> select user,host,password from user; // mysql数据库中查看用户的信息表
+------+-----------------------+-------------------------------------------+
| user | host | password |
+------+-----------------------+-------------------------------------------+
| root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | localhost.localdomain | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | 127.0.0.1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | ::1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+------+-----------------------+-------------------------------------------+
4 rows in set (0.00 sec)
### --- 注释
~~~ mysql下用户名是有两部分组成;user=username@host “ root | localhost ” 这是一个账号;
~~~ host表示你从那台电脑上登录;
~~~ 127.0.0.1 默认情况下登录mysql主机的ip地址,默认情况下不允许远程登录。
~~~ 上面的4个账号都是我们本机的,远程主机是连不上来的。
~~~ 远程主机想连到这台服务器的mysql数据库,
[root@localhost ~]# mysql -uroot -p123456 -h 192.168.1.58 // 此时还是连不了,需要在mysql服务器上授权
三、mariadb客户端程序常用操作:
### --- 客户端程序:
~~~ mysql:交互式的CLI工具
~~~ mysqldump:备份工具,基于MySQL协议向MySQLd发起查询请求,
~~~ mysqldump:并将查得的所有数据转换成insert等写操作语句保存文本文件中。
~~~ mysqladmin:基于mysql协议管理mysqld
~~~ mysqlimport:数据导入工具
### --- myIsam存储引擎的管理工具:
~~~ myisamchk:检查myisam库
~~~ myisampack:打包myisam表,只读
### --- 服务器端程序:
~~~ mysqld_safe
~~~ mysqld
~~~ mysqld_multi:多实例,示例:mysqld_multi --example
### --- 常用操作:
[root@localhost ~]# ps -aux // 可以查看到上面两个服务端程序
mysql 115182 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
mysql 115344 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql
[root@localhost ~]# getent passwd mysql // 查看mysql的信息
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin // /var/lib/mysql它的家目录;
[root@localhost ~]# rpm -q --scripts mariadb-server // 查看它安装程序的时候以什么方式
[root@localhost ~]# which mysqld_multi // 查看该程序
/usr/bin/mysqld_multi
[root@localhost ~]# rpm -qf /usr/bin/mysqld_multi // 此程序实现多实例,
mariadb-server-5.5.65-1.el7.x86_64
四、常用操作
### --- 用户账号:
~~~ mysql用户账号由两部分组成:‘USERNAME'@HOST';
~~~ 说明:HOST限制此用户可通过哪些远程主机连接MySQL服务器
~~~ 支持使用通配符:%匹配任意长度的任意字符172.16.0.0/255.255.0.0或172.16.%.%;
~~~ 匹配任意单个字符
### --- MySQL客户端使用模式:
~~~ 交互式模式:可运行命令有两类:
~~~ 客户端命令:\h:help \u:use \s:status \!:system // MySQL客户端自身的命令,就是在数据库中 \h或者\help可以查询到的命令,都属于客户端命令,不需要加分号。
~~~ 服务器端命令:SQL,需要语句结束符; // 服务器端命令需要加分号。
~~~ 脚本模式:
~~~ mysql -uUSERNAME -PASSWORD < /path/somefile.sql
~~~ mysql> source /path/from/somefile.sql
五、mysql常用操作
### --- 创建数据库:
MariaDB [(none)]> create database testdb;
MariaDB [(none)]> show databases;
| testdb |
MariaDB [(none)]> \! ls /var/lib/mysql // 在MySQL数据库之下执行linux命令
testdb
MariaDB [(none)]> \! ls /var/lib/mysql/testdb
db.opt
### --- 方法一:交互式的方法
[root@localhost ~]# cat > test.sql // 准备配置文件
create database testdb2;
show databases;
[root@localhost ~]# cat test.sql
create database testdb2;
show databases;
### --- 方法二:以重定向的方式
[root@localhost ~]# mysql -uroot -p123456 <test.sql // 以重定向的方式去执行命令,相当于执行一个脚本;
Database
information_schema
mysql
performance_schema
testdb
testdb2
### --- 方案三:以source命令去创建
MariaDB [(none)]> source test.sql
+--------------------+
| Database |
+--------------------+
| testdb |
| testdb2 |
| testdb3 |
+--------------------+
6 rows in set (0.00 sec)
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv002-database
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」