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