(備忘,未整理) centos7上安裝mysql

以下參考centOS7安裝 mysql-community-release-el7-5.noarch.rpm 包

一、rpm包

1、wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm(下載rpm)

2、rpm -ivh mysql-community-release-el7-5.noarch.rpm(安裝rpm包)

3、yum install mysql-server  (安裝)

 

二、操作MySQL

1、service mysql start(啓動數據庫)

2、service mysql status(查看數據庫狀態)

3、mysql -u root -p(登錄數據庫)

 

3、GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

      flush privileges;     (賦值權限)

4、exit

三、Linux防火牆

1、systemctl status firewalld.service(查看防火牆狀態)

2、systemctl stop firewalld.service (關閉防火牆)

注意點:

centos7中防火牆的文件名有改變:

1、firewalld的基本使用

啓動: systemctl start firewalld

關閉: systemctl stop firewalld

查看狀態: systemctl status firewalld 

開機禁用  : systemctl disable firewalld

開機啓用  : systemctl enable firewalld

以下參考Centos7 Mysql8.0版本修改密碼

初次登錄可以使用該密碼登錄

二、跳過密碼登錄配置空密碼登錄

1.vim /etc/my.cnf

2.在[mysqld]中添加
skip-grant-tables
例如:
[mysqld]
skip-grant-tables
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

3.重啓mysql
systemctl stop firewalld(啓動mysqld服務之前需要先關閉防火牆)
systemctl restart mysqld.service

4.用戶無密碼登錄
mysql -uroot -p (直接點擊回車,當前密碼設定爲空直接跳過)

5.選擇數據庫
use mysql;(一定記住" ; "符號)

6.將密碼置空
update user set authentication_string = ‘’ where user = ‘root’;
退出
quit

7.刪除skip-grant-tables重啓Mysql服務
vim /etc/my.cnf
重啓mysql
systemctl restart mysqld.service

三、修改登錄密碼
1.mysql -u root -p //回車直接進入

2.show databases;

3.use mysql;(進行2,3步驟操作時如果顯示錯誤,例如:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.此時可以先進行第4步操作)

4.使用下面的語句修改密碼:

  ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';  (注意密碼的格式要求,密碼包含大小寫字母、數字、特殊字符)。

 5.修改密碼完成退出,重啓服務之後使用新的密碼登陸。

 

以下參考https://www.cnblogs.com/pejsidney/p/8945934.html

以root用戶登錄數據庫,運行以下命令:

create user zhangsan identified by 'zhangsan';

上面的命令創建了用戶zhangsan,密碼是zhangsan。在mysql.user表裏可以查看到新增用戶的信息:

授權

命令格式:grant privilegesCode on dbName.tableName to username@host identified by "password";

grant all privileges on zhangsanDb.* to zhangsan@'%' identified by 'zhangsan';
flush privileges;

上面的語句將zhangsanDb數據庫的所有操作權限都授權給了用戶zhangsan。

在mysql.db表裏可以查看到新增數據庫權限的信息:

也可以通過show grants命令查看權限授予執行的命令:

show grants for 'zhangsan';

privilegesCode表示授予的權限類型,常用的有以下幾種類型[1]:

  • all privileges:所有權限。
  • select:讀取權限。
  • delete:刪除權限。
  • update:更新權限。
  • create:創建權限。
  • drop:刪除數據庫、數據表權限。

dbName.tableName表示授予權限的具體庫或表,常用的有以下幾種選項:

  • .:授予該數據庫服務器所有數據庫的權限。
  • dbName.*:授予dbName數據庫所有表的權限。
  • dbName.dbTable:授予數據庫dbName中dbTable表的權限。

username@host表示授予的用戶以及允許該用戶登錄的IP地址。其中Host有以下幾種類型:

  • localhost:只允許該用戶在本地登錄,不能遠程登錄。
  • %:允許在除本機之外的任何一臺機器遠程登錄。
  • 192.168.52.32:具體的IP表示只允許該用戶從特定IP登錄。

password指定該用戶登錄時的面。

flush privileges表示刷新權限變更。

文章首發於【博客園-陳樹義】,請尊重原創保留原文鏈接。

修改密碼

運行以下命令可以修改用戶密碼

update mysql.user set password = password('zhangsannew') where user = 'zhangsan' and host = '%';
flush privileges;

刪除用戶

運行以下命令可以刪除用戶:

drop user zhangsan@'%';

drop user命令會刪除用戶以及對應的權限,執行命令後你會發現mysql.user表和mysql.db表的相應記錄都消失了。

常用命令組

創建用戶並授予指定數據庫全部權限:適用於Web應用創建MySQL用戶

create user zhangsan identified by 'zhangsan';
grant all privileges on zhangsanDb.* to zhangsan@'%' identified by 'zhangsan';
flush  privileges;

創建了用戶zhangsan,並將數據庫zhangsanDB的所有權限授予zhangsan。如果要使zhangsan可以從本機登錄,那麼可以多賦予localhost權限:

grant all privileges on zhangsanDb.* to zhangsan@'localhost' identified by 'zhangsan';

 

我的操作,之前設置了用戶密碼,卻無法用密碼登陸,只能免密登陸,因爲create user 'username' identified by 'userpassword';  默認是創建的username@%,這個是值只能通過本機以外的機器登錄的賬戶。

本機登錄要創建localhost賬戶: create user 'username'@'localhost' identified by 'userpassword'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章