mysql學習5:第二章:mysql安裝啟動和關閉——密碼重置及許可權管理

studywell發表於2018-11-05


 

1.1.   mysql資料庫root密碼丟失問題

 

透過新增--skip-grant-tables引數跳過許可權表

#mysql -uroot -p

強制停庫,先檢視mysql程式號

[root@localhost mysql]# ps -ef |grep mysql

root      16762      1  0 10:18 pts/3    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/mysql.pid

mysql     18122  16762  0 10:18 pts/3    00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/error.log --open-files-limit=65535 --pid-file=/data/mysql/mysql.pid --socket=/tmp/mysql.sock --port=3306

 

kill掉mysql程式,命令如下:

[root@localhost mysql]# kill -9 18122 16762

跳過許可權檢查表,重啟資料庫;

#./mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &

為了安全可以這樣禁止遠端連線:

# mysqld_safe --skip-grant-tables --skip-networking &

重新登陸入資料庫

給root使用者設定新密碼並授權,5.7之後,密碼password用authentication_string欄位代替;

# mysql

mysql>use mysql

#檢視使用者

mysql> select user,host from user;

mysql> update mysql.user set authentication_string=password('root') where user='root' and Host = 'localhost';

mysql>flush privileges;

修改完畢。重啟

[root@localhost ~]# service mysql restart

正常啟動資料庫

#./mysqld_safe --defaults_file=/etc/my.cnf &

#mysql -uroot -p

然後mysql就可以連線,可正常修改使用者密碼

mysql> alter user 'root' identified by 'root123';

mysql> set password for 'root'@'localhost'=password('123');

 

1.2.   mysql資料庫的連線方式

linux平臺兩種連線方式:1.tcp/ip連線方式;2.Socket連線

windows平臺:1.name pipe;2.share memory(不考慮);

 

TCP/IP連線使用最廣:

mysql -u username -p password -P port -h IP

客戶端發起到例項的連結》例項檢查許可權表mysql.user》允許則建立連結。

 

Unix Socket連線方式不是網路協議,只能用於客戶端和資料庫例項在一臺伺服器上使用。配置檔案中指定套接字檔案路徑:socket=/tmp/mysql.sock

連線命令:

mysql -u username -p password -S */tmp/mysql.sock

 

連線mysql的工具: sqlyog,navicat;

1.3.   使用者許可權管理

MySQL資料庫中使用者分為超管許可權使用者root和普通使用者(root使用者建立)。

超管許可權和all privileges許可權使用者只能歸DBA管理。

 

建立使用者,儘量專庫專賬號,不要一個賬號管理多個庫。

建立使用者語法:

create user username@host identified by ‘password’;

注意:主機IP避免用%,可分配一個IP段;

 

許可權分類:

l   只讀許可權:只能查詢,不能DML

l   讀寫許可權:insert,update,delete,select

 

示例:

create user ‘erp_read’@’192.168.56.%’ identified by ‘erp123’;

grant select on erp.* to ‘erp_read’@’192.168.56.%’ identified by ‘erp123’;

flush privileges;

create user ‘erp_user’@’192.168.56.%’ identified by ‘erp456’;

grant select,insert,update,delete on erp.* to ‘erp_user’@’192.168.56.%’ identified by ‘erp456’

flush privileges;


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29519108/viewspace-2218718/,如需轉載,請註明出處,否則將追究法律責任。

相關文章