數據庫雜記(Mysql 和Sqlite3)

提示:本文操做環境是MariaDB 和Sqlite3。mysql

本文測試環境Sqlite3 安裝文件位於 D:\sqlite-tools-win32-x86-3230100 目錄。sql

Sqlite3 建立數據庫hello.db.數據庫

命令行下輸入(hello.db是實例數據庫名稱)測試

#切換到sqlite3可執行文件目錄D盤
C:\Users\test>D:

D:\>cd sqlite-tools-win32-x86-3230100

D:\sqlite-tools-win32-x86-3230100>sqlite3
SQLite version 3.23.1 2018-04-10 17:39:29
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .quit
#建立hello.db數據庫
D:\sqlite-tools-win32-x86-3230100>sqlite3 hello.db
SQLite version 3.23.1 2018-04-10 17:39:29
Enter ".help" for usage hints.
sqlite>
#注:本地文件須要在建立表或sqlite3退出後生成本地文件。

命令完成同時進入數據庫控制檯界面。 輸入圖片說明ui

.databases命令查看數據庫信息,本文數據庫文件位於C:\Users\Administrator\hello.db。命令行

.databases

輸入圖片說明

建立表A。code

create table A(id,name);

根據命令可知sqlite3建立表能夠不指定數據類型。固然,語句結束須要有分號,並最好可以在同一行。sqlite

查看錶。進程

.tables

輸入圖片說明

Linux MySQL 遠程訪問控制。圖片

sudo -i切換到root帳號,輸入命令mysql。 輸入圖片說明

切換到mysql數據庫。

mysql>update user set host='172.20.0.0/24' where user='root';

增長172.20.0.0網段訪問權限。host能夠是網段,主機名或者IP地址。

mysql>select host,user from user;

查詢主機和用戶權限設置。

mysql>flush privileges;

刷新用戶權限。

root@jiangjuan-OptiPlex-390:~# mysql
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

隨意修改權限可能致使沒法本地訪問數據庫。解決該問題方法以下。 首先中止數據庫服務。

/etc/init.d/mysql stop

輸入圖片說明

本文還涉及到殺死mysql進程問題。 首先經過ps -aux 命令找到mysql 進程ID,本文是12914(1286),請根據實際狀況選擇。

kill -s 9 12914
kill -s 9 1286
mysql>mysqld_safe –skip-grant-tables &
mysql>mysql

跳過驗證過程,從新登陸。

mysql>use mysql
mysql>select user,host,password from user where user='root';

查詢結果未顯示localhost能夠登錄。

mysql>update user set host='localhost' where user='root' and host='%';
 mysql>flush privileges;

從新受權並重啓MySQL服務便可。

mysql>mysql -u root –p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

該方法也能夠設置任意機器訪問數據庫。

相關文章
相關標籤/搜索