1.1 格式:mysql -u使用者名稱 -p密碼 -h ip -p 埠 -s 套接字
mysql -uvagrant -pvagrant -h 127.0.0.1 -p 3306 -s /tmp/mysql.lock
為什麼有的使用者可以這樣登陸??mysql -uroot -proot
ormysql
為什麼他們的登陸那麼簡單?答案就是 mysql配置檔案設定了預設登入資訊,查詢如下
1.2 mysql 配置檔案位置
windows中 mysql 配置檔名 my.ini 一般在mysql 安裝路徑/etc/my.ini
linux 中mysql配置檔名 my.cf 一般在
/etc/my.cf
1.3 mysql 配置檔案資訊說明
[client]#客戶端連線時 使用的配置資訊
#password = your_password
port = 3306 # -p port
socket = /tmp/mysql.sock
[mysqld]
#mysqld啟動時使用的配置資訊
port = 3306 #
啟動時使用的ip埠
socket = /tmp/mysql.sock
datadir = /usr/local/mysql/var
skip-external-locking
key_buffer_size =32m
max_allowed_packet =1m
table_open_cache = 128sort_buffer_size =768k
net_buffer_length =8k
read_buffer_size =768k
read_rnd_buffer_size =512k
myisam_sort_buffer_size =8m
thread_cache_size = 16query_cache_size =16m
tmp_table_size =32m
explicit_defaults_for_timestamp =true
max_connections = 500max_connect_errors = 100open_files_limit = 65535log-bin=mysql-bin
binlog_format=mixed
server-id = 1expire_logs_days = 10early-plugin-load = ""
default_storage_engine =innodb
innodb_data_home_dir = /usr/local/mysql/var
innodb_data_file_path =ibdata1:10m:autoextend
innodb_log_group_home_dir = /usr/local/mysql/var
innodb_buffer_pool_size =128m
innodb_log_file_size =32m
innodb_log_buffer_size =8m
innodb_flush_log_at_trx_commit = 1innodb_lock_wait_timeout = 50[mysqldump]
quick
max_allowed_packet =16m
[mysql]
#mysql 使用命令列登陸時的使用資訊
user =vagrant # -uuser
password =vagrant # -ppassword
no-auto-rehash
[myisamchk]
key_buffer_size =32m
sort_buffer_size =768k
read_buffer =2m
write_buffer =2m
[mysqlhotcopy]
interactive-timeout
#!!!如果沒有[mysql],則使用者在執行mysql命令時的配置以[client]為準
# 如 [mysql] 下面的資訊
# user=vagrant 表示命令行預設使用vagrant使用者
# password = vagrant 表示命令行莫恩使用vagrant密碼
其他的資訊由[client]下提供
2.1 建立許可權使用者
格式:
grant 許可權 on 庫.表 to 使用者名稱.'主機範圍
' identified by '
密碼';(該命令也可以修改許可權作業範圍和使用者密碼)
舉例1:
grant all on *.* to test@'127.0.0.1
' identified by '
123'
#說明:
# 使用者名稱:test
# 密碼:123
# 主機範圍:127.0.0.1 (表示這是本即可以登陸)
# 許可權作業範圍*.*: 所有庫,所有表
#
許可權: all
# 登陸方式:mysql -utest -p123 -h 127.0.0.1
舉例二:
grant all blog.* 'py'@'
192.168.33.1
' identified by '
123';#
說明:#
使用者名稱:py
#密碼:123
#主機範圍:192.168.33.1(只有該ip主機可以登陸)
#許可權作業訪問:blog資料庫下的所有表
#許可權: all
另外說明:
#想要命令立即生效:可以在命令執行後在執行下面命令
#flush privileges;
2.2 刪除許可權使用者
格式:
drop user '使用者名稱'@'
主機範圍
'; #
執行命令即可刪除 許可權使用者
flush privileges; #
該命令會立即生效上面執行的sql 語句
2.3 檢視使用者
select * frommysql.user;
#也可以使用如下操作
#use mysql
#select * from user
#上面的mysql.user ,簡化了進入mysql庫這一步
3.1 檢視可建立的使用者許可權
命令: show privileges;
3.2 刪除使用者授權
格式:
revoke 許可權 on 庫.表 from '使用者名稱'@'主機範圍';
#該命令即使建立使用者,也是修改使用者許可權
# 使用者名稱和主機範圍 必須是已建立過的,這樣才可以修改,
舉例:
revoke alter,update,create,insert on *.* from'py'@'192.168.33.1';
#將使用者名稱:py
#主機名:192.168.33.1
#許可權作用範圍*.*: 所有的庫下面的表都刪除alter,update,create,insert 許可權
3.3 檢視使用者許可權
格式:
show grants for'使用者名稱
'@'主機範圍';
# 例如:
# show grant
for 'root'@'localhost';
MYSQL遠端登入許可權設定
mysql預設關閉遠端登入許可權,如下操作允許使用者在任意地點登入 1.進入mysql,grant all privileges on to root identified by with grant option identified by後跟的是密碼,可設為空。2.flush privilege...
MYSQL遠端登入許可權設定
現象 1 同一臺電腦在本機上有乙個視覺化軟體sql front,在虛擬機器上有乙個視覺化軟體sql front。資料庫伺服器開啟在虛擬機器上。在虛擬機器上使用sql front,可以正常連線mysql的資料庫,而在本機上無法連線。2 在虛擬機器上使用netstat ano findstr 3306 ...
mysql遠端登入許可權問題
遠端連線mysql資料庫的時候,報錯 出現 error 1130 hy000 host 192.168.14.1 is not allowed to connect to this mysql server提示資訊,不能遠端連線資料庫。解決方案如下 這個時候只要在localhost的那台電腦,登入m...