mysql %用户域_MySQL运维---用户权限及管理
一、mysql創建用戶
1、創建用戶
mysql> create user test@'%' identified by '123456'; 創建了用戶,但是沒有任何權限
Query OK,0 rows affected (0.00sec)
mysql> grant all on *.* to root@'localhost' identified by '123456'; 沒有用戶,則創建用戶,用戶存在,就賦予權限
Query OK,0 rows affected (0.00 sec)
2、刪除用戶
mysql>drop user test;
Query OK,0 rows affected (0.00 sec)
3、用戶的定義
1) username@’主機域’
2)主機域:可以理解為是MySQL登陸的白名單
3)主機域格式:
’10.0.0.51’
’10.0.0.5%’
’10.0.0.%’
’10.0.%.%’
’10.%.%.%’
‘%’
‘db01’
’10.0.0.51/255.255.255.0’
4、修改用戶密碼
[root@controller ~]# mysqladmin -uroot -p123456 password '123'; mysqladmin修改密碼
mysql> grant all on *.* to root@'localhost' identified by '123456'; grant修改密碼
mysql>?update mysql.user set password=PASSWORD('123') where user='root' and host='localhost'; update修改密碼
mysql> set password= PASSWORD('123456'); set修改當前登錄用戶密碼
二、企業中權限開通方法
1、all和all privileges結果一樣
2、用戶權限介紹
MySQL的權限定義:
作用對象:庫、表
權限
INSERT,SELECT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER,
SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT,
CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE
歸屬
grant all privileges on *.* to oldboy@’10.0.0.%’ identified by ‘123’;
權限 作用對象 歸屬 密碼
作用對象分解
*.* [當前MySQL實例中所有庫下的所有表]
wordpress.* [當前MySQL實例中wordpress庫中所有表(單庫級別)]
wordpress.user [當前MySQL實例中wordpress庫中的user表(單表級別)]
3、企業中權限的設定
#一般給開發創建用戶權限
grantselect,update,delete,insert on *.* to oldboy@’10.0.0.%’ identified by ‘123’;
4、結論
1、如果在不同級別都包含某個表的管理能力時,權限是相加關系。
2、但是我們不推薦在多級別定義重復權限。
3、最常用的權限設定方式是單庫級別授權,即:wordpress.*
三、MySQL連接管理
1、連接工具
1)MySQL自帶的連接工具:mysql
常見的特定于客戶機的連接選項:
-u:指定用戶-p:指定密碼-h:指定主機-P:指定端口-S:指定sock-e:指定SQL--protocol=name:指定連接方式
2)第三方的連接工具:sqlyog、navicat
應用程序連接MySQL:需要加載對應語言程序的API
2、連接方式
1)scoket連接:
mysql -uroot -poldboy123 -S/application/mysql/tmp/mysql.sock
mysql-uroot -poldboy123
2)TCP/IP連接
mysql -uroot -poldboy123 -h10.0.0.51 -P3306
3、當數據庫服務器沒有公網IP時,可用第三方工具跳轉連接
1)填寫mysql所在主機內網IP
2)填寫可連接至數據庫服務器的跳板機公網IP
四、MySQL啟動關閉流程
1、關閉流程圖
啟動mysql:
/etc/init.d/mysqld start ------> mysqld_safe ------> mysqld
關閉mysql:
/etc/init.d/mysqld stop
mysqladmin-uroot -poldboy123 shutdown
kill-9 pid ?killall mysqld?pkill mysqld?
kill殺死mysql容易出現的問題:
1)如果在業務繁忙的情況下,數據庫不會釋放pid和sock文件
2)號稱可以達到和Oracle一樣的安全性,但是并不能100%達到
3)在業務繁忙的情況下,丟數據(補救措施,高可用)
五、MySQL實例初始化配置
1、初始化實例拓撲圖
1)預編譯:cmake去指定,硬編碼到程序當中去
2)在命令行設定啟動初始化配置
--skip-grant-tables--skip-networking--datadir=/application/mysql/data--basedir=/application/mysql--defaults-file=/etc/my,cnf--pid-file=/application/mysql/data/db01.pid--socket=/application/mysql/data/mysql.sock--user=mysql--port=3306
--log-error=/application/mysql/data/db01.err
3)初始化配置文件(/etc/my.cnf)
配置文件讀取順序:
/etc/my.cnf/etc/mysql/my.cnf
$MYSQL_HOME/my.cnf(前提是在環境變量中定義了MYSQL_HOME變量)
defaults-extra-file (類似include)~/my.cnf
注意:--defaults-file:默認配置文件,如果使用./bin/mysqld_safe 守護進程啟動mysql數據庫時,使用了 --defaults-file=參數,這時只會使用這個參數指定的配置文件。
優先級結論:
1)、命令行2)、defaults-file3)、配置文件(最后一個生效)4)、預編譯
2、初始化配置文件的使用
初始化配置文件功能:
1)影響實例的啟動(mysqld)
2)影響到客戶端(mysql、mysqldump、mysqladmin)
如何配置初始化配置文件:
1)配置標簽分類
[client]所有客戶端程序
mysql
mysqldump
[server]所有服務器程序
mysqld
mysqld_safe
總結
以上是生活随笔為你收集整理的mysql %用户域_MySQL运维---用户权限及管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql+monitor+下载_详解M
- 下一篇: 非索引查询如何提高效率_Python数据