mysql %用户域_MySQL运维---用户权限及管理
一、mysql創(chuàng)建用戶
1、創(chuàng)建用戶
mysql> create user test@'%' identified by '123456'; 創(chuàng)建了用戶,但是沒有任何權(quán)限
Query OK,0 rows affected (0.00sec)
mysql> grant all on *.* to root@'localhost' identified by '123456'; 沒有用戶,則創(chuàng)建用戶,用戶存在,就賦予權(quán)限
Query OK,0 rows affected (0.00 sec)
2、刪除用戶
mysql>drop user test;
Query OK,0 rows affected (0.00 sec)
3、用戶的定義
1) username@’主機(jī)域’
2)主機(jī)域:可以理解為是MySQL登陸的白名單
3)主機(jī)域格式:
’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修改當(dāng)前登錄用戶密碼
二、企業(yè)中權(quán)限開通方法
1、all和all privileges結(jié)果一樣
2、用戶權(quán)限介紹
MySQL的權(quán)限定義:
作用對象:庫、表
權(quán)限
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’;
權(quán)限 作用對象 歸屬 密碼
作用對象分解
*.* [當(dāng)前MySQL實(shí)例中所有庫下的所有表]
wordpress.* [當(dāng)前MySQL實(shí)例中wordpress庫中所有表(單庫級別)]
wordpress.user [當(dāng)前MySQL實(shí)例中wordpress庫中的user表(單表級別)]
3、企業(yè)中權(quán)限的設(shè)定
#一般給開發(fā)創(chuàng)建用戶權(quán)限
grantselect,update,delete,insert on *.* to oldboy@’10.0.0.%’ identified by ‘123’;
4、結(jié)論
1、如果在不同級別都包含某個(gè)表的管理能力時(shí),權(quán)限是相加關(guān)系。
2、但是我們不推薦在多級別定義重復(fù)權(quán)限。
3、最常用的權(quán)限設(shè)定方式是單庫級別授權(quán),即:wordpress.*
三、MySQL連接管理
1、連接工具
1)MySQL自帶的連接工具:mysql
常見的特定于客戶機(jī)的連接選項(xiàng):
-u:指定用戶-p:指定密碼-h:指定主機(jī)-P:指定端口-S:指定sock-e:指定SQL--protocol=name:指定連接方式
2)第三方的連接工具:sqlyog、navicat
應(yīng)用程序連接MySQL:需要加載對應(yīng)語言程序的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、當(dāng)數(shù)據(jù)庫服務(wù)器沒有公網(wǎng)IP時(shí),可用第三方工具跳轉(zhuǎn)連接
1)填寫mysql所在主機(jī)內(nèi)網(wǎng)IP
2)填寫可連接至數(shù)據(jù)庫服務(wù)器的跳板機(jī)公網(wǎng)IP
四、MySQL啟動(dòng)關(guān)閉流程
1、關(guān)閉流程圖
啟動(dòng)mysql:
/etc/init.d/mysqld start ------> mysqld_safe ------> mysqld
關(guān)閉mysql:
/etc/init.d/mysqld stop
mysqladmin-uroot -poldboy123 shutdown
kill-9 pid ?killall mysqld?pkill mysqld?
kill殺死m(xù)ysql容易出現(xiàn)的問題:
1)如果在業(yè)務(wù)繁忙的情況下,數(shù)據(jù)庫不會釋放pid和sock文件
2)號稱可以達(dá)到和Oracle一樣的安全性,但是并不能100%達(dá)到
3)在業(yè)務(wù)繁忙的情況下,丟數(shù)據(jù)(補(bǔ)救措施,高可用)
五、MySQL實(shí)例初始化配置
1、初始化實(shí)例拓?fù)鋱D
1)預(yù)編譯:cmake去指定,硬編碼到程序當(dāng)中去
2)在命令行設(shè)定啟動(dòng)初始化配置
--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(前提是在環(huán)境變量中定義了MYSQL_HOME變量)
defaults-extra-file (類似include)~/my.cnf
注意:--defaults-file:默認(rèn)配置文件,如果使用./bin/mysqld_safe 守護(hù)進(jìn)程啟動(dòng)mysql數(shù)據(jù)庫時(shí),使用了 --defaults-file=參數(shù),這時(shí)只會使用這個(gè)參數(shù)指定的配置文件。
優(yōu)先級結(jié)論:
1)、命令行2)、defaults-file3)、配置文件(最后一個(gè)生效)4)、預(yù)編譯
2、初始化配置文件的使用
初始化配置文件功能:
1)影響實(shí)例的啟動(dòng)(mysqld)
2)影響到客戶端(mysql、mysqldump、mysqladmin)
如何配置初始化配置文件:
1)配置標(biāo)簽分類
[client]所有客戶端程序
mysql
mysqldump
[server]所有服務(wù)器程序
mysqld
mysqld_safe
總結(jié)
以上是生活随笔為你收集整理的mysql %用户域_MySQL运维---用户权限及管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql+monitor+下载_详解M
- 下一篇: php mysql切换版本5.7_php