|NO.Z.00006|——————————|^^ 構建 ^^|——|Mysql&Mariadb&yum部署配置.V2|
阿新 • • 發佈:2022-03-22
[Applications:Mysql&Mariadb&yum部署配置.V2] [Applications.Databases] [mysql/mariadb5.5.65&yum安裝/配置]
一、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; // 刪掉資料庫裡的表
二、設定mysql資料庫的密碼安全: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)
### --- 執行系統自帶的安全指令碼
[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)
===============================END===============================
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
來自為知筆記(Wiz)