Mysql—用戶與密碼


windows下登錄設置密碼

1、進入服務端以后

select user();  查看當前登錄賬戶

2、 切換賬號 root(在普通用戶下)

mysql -uroot -p

3、設置密碼

C:\Users\jiumo>mysqladmin -uroot -p password "123"  
# 設置初始密碼,由於原密碼為空,因此-p可以不用 注意這句話不起作用,請使用update mysql.user set authentication_string =password('') where User='root'; 

設置密碼后再登錄不輸入密碼則進不去,會報錯

ps:⚠️不用管它。翻譯為:在命令行界面使用密碼不安全,暴露在終端當中。

4、使用密碼登錄

mysql -uroot -p123

5、如果想將原始密碼123,設置新密碼為456

C:\Users\jiumo>mysqladmin -uroot -p"123" password "456"  
# 修改mysql密碼,因為已經有密碼了,所以必須輸入原密碼才能設置新密碼

依次執行如下操作:

mysql -uroot -p456
select user();

密碼忘記 -- 破解密碼

忘記密碼以后可以通過,跳過授權方式,直接登錄,具體如下:

1、首先以管理員身份打開cmd:

2、停止掉mysql服務

3、執行跳過授權命令

# 跳過授權表
C:\WINDOWS\system32>mysqld --skip-grant-tables

2018-06-09 17:12:38 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2018-06-09 17:12:38 0 [Note] mysqld (mysqld 5.6.40) starting as process 6052 ...4.

4、連接客戶端,看能否跳過密碼,直接登錄

mysql -uroot -p

5、現在可以任意更改密碼,執行如下命令

update mysql.user set authentication_string =password('') where User='root'; 

6、刷新權限

flush privileges;

7、退出mysql

exit

統一字符編碼

進入mysql客戶端以后,可以執行 \s 查看

為了統一字符編碼utf8,請執行如下操作:

1、my.ini文件是mysql的配置文件,

在根文件下創建my.ini文件

2、拷貝代碼

[mysqld]
# 設置mysql的安裝目錄 **后面的路徑一定是安裝sql的目錄(自己電腦的)**
basedir=C:\mysql-5.7.22-winx64\mysql-5.7.22-winx64
# 設置mysql數據庫的數據的存放目錄,必須是data
datadir=C:\mysql-5.7.22-winx64\mysql-5.7.22-winx64\data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# mysql端口
port=3306
# 字符集
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

3、管理員身份打開cmd,重啟服務

4、啟動客戶端,刷新權限,執行 /s 查看編碼是否更改成功

mysql創建用戶和授權

我們知道我們的最高權限管理者是root用戶,它擁有着最高的權限操作。包括select、update、delete、update、grant等操作。那么一般情況在公司之后DBA工程師會創建一個用戶和密碼,讓你去連接數據庫的操作,並給當前的用戶設置某個操作的權限(或者所有權限)。那么這時就需要我們來簡單了解一下:

  • 如何創建用戶和密碼
  • 給當前的用戶授權
  • 移除當前用戶的權限

如果你想創建一個新的用戶,則需要以下操作:

1、進入到mysql數據庫下

mysql> use mysql

2、對用戶進行增刪改

1.創建用戶:
# 指定ip:192.118.1.1的jiumo用戶登錄
create user 'jiumo'@'192.118.1.1' identified by '123';

# 指定ip:192.118.1.開頭的jiumo用戶登錄
create user 'jiumo'@'192.118.1.%' identified by '123';

# 指定任何ip的jiumo用戶登錄
create user 'jiumo'@'%' identified by '123';


2.刪除用戶
drop user '用戶名'@'IP地址';


3.修改用戶
rename user '用戶名'@'IP地址' to '新用戶名'@'IP地址';


4.修改密碼
set password for '用戶名'@'IP地址'=Password('新密碼');

3、當前用戶進行授權管理

  grant 權限只有 root 用戶才有

# 查看權限
show grants for '用戶'@'IP地址'

#授權 jiumo用戶僅對db1.t1文件有查詢、插入和更新的操作
grant select ,insert,update on db1.t1 to "jiumo"@'%';

# 表示有所有的權限,除了grant這個命令,這個命令是root才有的。jiumo用戶對db1下的t1文件有任意操作
grant all privileges  on db1.t1 to "jiumo"@'%';

#jiumo用戶對db1數據庫中的文件執行任何操作
grant all privileges  on db1.* to "jiumo"@'%';

#jiumo用戶對所有數據庫中文件有任何操作
grant all privileges  on *.*  to "jiumo"@'%';

 
#取消權限

# 取消jiumo用戶對db1的t1文件的任意操作
revoke all on db1.t1 from 'jiumo'@"%";  

# 取消來自遠程服務器的jiumo用戶對數據庫db1的所有表的所有權限
revoke all on db1.* from 'jiumo'@"%";  

取消來自遠程服務器的jiumo用戶所有數據庫的所有的表的權限
revoke all privileges on *.* from 'jiumo'@'%';

4、mysql備份命令行操作

# 備份:數據表結構+數據
mysqdump -u root db1 > db1.sql -p


# 備份:數據表結構
mysqdump -u root -d db1 > db1.sql -p


#導入現有的數據到某個數據庫
#1.先創建一個新的數據庫
create database db10;
# 2.將已有的數據庫文件導入到db10數據庫中
mysqdump -u root -d db10 < db1.sql -p


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM