您好,登錄后才能下訂單哦!
Linux如何安裝 MySQL5.7跟權限管理,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar
groupadd mysql useradd -r -g mysql mysql
創建數據目錄并賦予權限
mkdir -p /data/mysql #創建目錄 chown mysql:mysql -R /data/mysql #賦予權限
配置my.cnf
vim /etc/my.cnf
內容如下
[mysqld] bind-address=0.0.0.0 port=3306 user=mysql #log_bin #開啟binlog log-bin = mysql-bin #選擇row模式 binlog-format = ROW server_id = 12345 basedir=/usr/local/mysql datadir=/data/mysql socket=/tmp/mysql.sock log-error=/data/mysql/mysql.err pid-file=/data/mysql/mysql.pid #character config character_set_server=utf8mb4 symbolic-links=0 explicit_defaults_for_timestamp=true
進入mysql的bin目錄
cd /usr/local/mysql/bin/
初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看密碼
cat /data/mysql/mysql.err
先將mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
啟動!!!
service mysql start ps -ef|grep mysql
到這里說明mysql已經安裝成功了!!
下面修改密碼
首先登錄mysql,前面的那個是隨機生成的。
./mysql -u root -p #bin目錄下
再執行下面三步操作,然后重新登錄。
SET PASSWORD = PASSWORD('123456'); ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; FLUSH PRIVILEGES;
這時候你如果使用遠程連接……你會發現你無法連接。
這里主要執行下面三個命令(先登錄數據庫)
use mysql #訪問mysql庫 update user set host = '%' where user = 'root'; #使root能再任何host訪問 FLUSH PRIVILEGES; #刷新
ok!!!!MySQL5.7就裝好了……坑是真的多……但是如果按這個流程走應該是能順利裝下來的。(因為我裝了兩遍……)
如果不希望每次都到bin目錄下使用mysql命令則執行以下命令
ln -s /usr/local/mysql/bin/mysql /usr/bin
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
username – 你將創建的用戶名說明:
host – 指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost, 如 果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%
password – 該用戶的登陸密碼,密碼可以為空,如果為空則該用戶可以不需要密碼登 陸服務器
例子:
CREATE USER 'javacui'@'localhost' IDENTIFIED BY '123456'; CREATE USER 'javacui'@'172.20.0.0/255.255.0.0' IDENDIFIED BY '123456'; CREATE USER 'javacui'@'%' IDENTIFIED BY '123456'; CREATE USER 'javacui'@'%' IDENTIFIED BY ''; CREATE USER 'javacui'@'%';
授權
GRANT privileges ON databasename.tablename TO 'username'@'host';
privileges – 用戶的操作權限,如SELECT , INSERT , UPDATE 等(詳細列表見該文最后面).如果要授予所 的權限則使用ALL說明:
databasename – 數據庫名
tablename-表名,如果要授予該用戶對所有數據庫和表的相應操作權限則可用* 表示, 如*.*
例子:
GRANT SELECT, INSERT ON test.user TO 'javacui'@'%'; GRANT ALL ON *.* TO 'javacui'@'%';
注意:用以上命令授權的用戶不能給其它用戶授權,如果想讓該用戶可以授權,用以下命令
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
設置與更改用戶密碼
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
如果是當前登陸用戶用
SET PASSWORD = PASSWORD("newpassword");
撤銷用戶權限
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
例子說明: privilege, databasename, tablename – 同授權部分
REVOKE SELECT ON *.* FROM 'javacui'@'%';
假如你在給用戶’javacui’@'%’授權的時候是這樣的(或類似 的):GRANT SELECT ON test.user TO ‘javacui’@'%’, 則在使用 REVOKE SELECT ON *.* FROM ‘javacui’@'%’;命令并不能撤銷該用戶對test數據庫中user表的SELECT 操作注意:
相反,如果授權使用的是GRANT SELECT ON *.* TO ‘javacui’@'%’;則 REVOKE SELECT ON test.user FROM ‘javacui’@'%’;命令也不能撤銷該用戶對test數據庫中user表的 Select 權限
具體信息可以用命令SHOW GRANTS FOR ‘javacui’@'%’; 查看
刪除用戶
DROP USER ‘username’@'host’;
操作后切記刷新數據庫
flush privileges;
關于Linux如何安裝 MySQL5.7跟權限管理問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。