連接:mysql [-h127.0.0.1] [-P3306] -uroot -p (端口要用大寫P,與密碼p加以區分)
查看mysql的數據庫列表:show databases;
使用某個庫:use [數據庫名];
查看表列表:show tables;
查看數據庫的創建sql:show create database [數據庫名稱];
查看表的創建sql:show create table [表名];
查看數據的字符集相關信息: show variables like '%char%';
其中client、connection、results會根據不同連接設置不同的字符集,cmd下默認就是gbk;
與開發有關的是database與server,其中database必須為utf-8;server是用於設置默認的連接字符集,如果連接設置了字符集則使用連接的,如果未設置則使用server的字符集。
修改server字符集的方法
windows下是修改my.ini文件。
my.ini可以位於以下兩個位置:
1、services.msc中配置的MYSQL服務中啟動參數 --defaults-file指定的my.ini;
2、如果啟動的服務未指定文件路徑,則是mysql安裝根目錄下的my.ini
ubuntu下是修改my.cnf。
my.cnf所在的位置是:
/etc/mysql
修改方式:
[mysqld] character-set-server=utf8
以上修改完成后,需要重啟MYSQL服務。
ubuntu的mysql重啟命令:sudo service mysql restart
查看當前登錄的用戶:select user(); 或 select current_user();
查看數據庫系統配置的用戶列表:SELECT * FROM mysql.user; (其中權限相關的信息也在這個表中,用戶超期也在這個表中)
創建用戶編輯用戶、創建數據庫建議用MySqlWorkBench工具,強大可視,避免錯誤。
創建用戶:CREATE USER 'test'@'localhost' IDENTIFIED BY '123456';
root賬戶修改用戶的密碼的方式:udpate mysql.user set authentication_string=password('[你的密碼]') where user='[需要修改的用戶名]';
有的老版本的mysql保存密碼的字段為'password',修改密碼是需要根據不同的字段名來調整sql是用authentication_string還是用password。
為用戶授權:GRANT ALL PRIVILEGES ON db.* TO 'test'@'localhost';
修改用戶信息后刷新用戶權限:flush privileges;
創建數據庫: create database [數據庫名稱] default character set utf8 collate utf8_general_ci;
查看用戶的授權語句:show grants for [用戶名];
移除某個授權:revoke [drop | 權限] on [數據庫名稱].* from [用戶名稱];
刪除某個數據庫實例:DROP DATABASE [數據庫名稱];
查詢一個用戶有幾個schemas(數據庫實例)的訪問權限:show grants for [用戶名]; (會將賦權給用戶訪問的數據列出來)
查看mysql的權限關鍵字列表:show privilege;
查看某個schema(數據庫實例)有哪些用戶可以訪問:select host,db,user from mysql.db;