MySQL經常使用操做記錄

文章做者:foochanehtml

原文連接:foochane.cn/article/201…mysql

1 查看數據庫當前用戶及權限

use mysql; #信息放在mysql.user表下
desc users;
select host,user from mysql.user;
複製代碼

2 建立用戶

命令:sql

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

複製代碼

說明:shell

  • username:你將建立的用戶名
  • host:指定該用戶在哪一個主機上能夠登錄,若是是本地用戶可用localhost,若是想讓該用戶能夠從任意遠程主機登錄,可使用通配符%
  • password:該用戶的登錄密碼,密碼能夠爲空,若是爲空則該用戶能夠不須要密碼登錄服務器

如:數據庫

CREATE USER 'test'@'%' IDENTIFIED BY '123456'

複製代碼

3 用戶受權

命令:服務器

GRANT privileges ON databasename.tablename TO 'username'@'host'

複製代碼

說明:ide

  • privileges:用戶的操做權限,如SELECTINSERTUPDATE等,若是要授予所的權限則使用ALL
  • databasename:數據庫名
  • tablename:表名,若是要授予該用戶對全部數據庫和表的相應操做權限則可用表示,如.*

例子:函數

GRANT SELECT, INSERT ON test_database.test_table TO 'testuser'@'%';
GRANT ALL ON test_database.* TO 'testuser'@'%';
GRANT ALL ON *.* TO 'testuser'@'%';
複製代碼

注意:spa

用以上命令受權的用戶不能給其它用戶受權,若是想讓該用戶能夠受權,用如下命令:rest

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

複製代碼

4 撤銷用戶權限

命令:

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

複製代碼

說明: 說明:

  • privileges:用戶的操做權限,如SELECTINSERTUPDATE等,若是要授予所的權限則使用ALL
  • databasename:數據庫名
  • tablename:表名,若是要授予該用戶對全部數據庫和表的相應操做權限則可用*表示,如*.*

例子:

REVOKE ALL ON *.* FROM 'testuser'@'%';

複製代碼

5 刪除用戶

命令:

DROP USER 'username'@'host';

複製代碼

6 設置與更改用戶密碼

命令:

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

複製代碼

若是是當前登錄用戶用:

SET PASSWORD = PASSWORD("newpassword");

複製代碼

7 查看當前登陸用戶,當前數據庫

select user();

select database();

複製代碼

注意這裏 uer(),database()不是語句,是函數。

8 建立表刪除表

建立:

create database databasename;
create database if not exists databasename;

複製代碼

刪除:

drop database databasename;

複製代碼

9 mysql啓動中止查看狀態

service mysql status
 service mysql start
 service mysql stop
 service mysql restart
複製代碼

10 mysql沒法遠程訪問問題解決

1 查看配置文件,看是否只容許本地訪問

配置文件具體位置 /etc/mysql/mysql.conf.d/mysqld.cnf

不一樣版本可能不同。

若有以下內容,把它註釋掉:

#bind-address           = 127.0.0.1

複製代碼

2 防火牆問題

查看端口占用狀況:

netstat -nalp | grep "3306"

複製代碼

關閉防火牆

sudo ufw status
sudo ufw disable

複製代碼

3 mysql用戶沒有受權

CREATE USER 'hiveuser'@'%' IDENTIFIED BY '123456';
grant all privileges on *.* to 'hiveuser'@'%' identified by '123456' with grant option; 
flush privileges;
create database metastore;

複製代碼
相關文章
相關標籤/搜索