mysql在linux下的安裝(5.7版本以后)

1.添加mysql組和mysql用戶,用于設置mysql安裝目錄文件所有者和所屬組。

?①groupadd mysql

?②useradd -r -g mysql mysql

?2.將二進制文件解壓到指定的安裝目錄,通用的/usr/local

①解壓二進制文件,?tar -zxvf??/usr/local/mysql-5.7.13-linux-glibc2.5-i686.tar.gz?

?②mv?mysql-5.7.13-linux-glibc2.5-i686 mysql ? 更改mysql目錄名稱

?③cd mysql 進入mysql文件夾,也就是mysql所在的目錄,

?④更改mysql目錄所屬的組和用戶。更改權限

? ? chown -R mysql .

? ? chgrp -R mysql .

3.初始化 MySQL 配置表?

?執行mysql_install_db腳本,對mysql中的data目錄進行初始化并創建一些系統表格。

?bin/mysql_install_db --user=mysql

?報錯:

?2016-07-15 14:50:14 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
?2016-07-15 14:50:14 [ERROR] ? The data directory needs to be specified.

?需要指定data目錄,注意mysql服務進程mysqld運行時會訪問data目錄,所以必須由啟動mysqld進程的用戶(就是我們之前設置的mysql用戶)執行這個腳本, ?或者用root ?執行,但是加上參數--user=mysql。

?上文還有警告信息,說mysql_install_db 命令已經是棄用的,建議切換到mysqld --initialize命令

?注:

?mysql5.7和之前版本不同,很多資料上都是這個命令:../scripts/mysql_install_db --user=mysql,而mysql5.7的mysql_install_db命令是在bin目錄下 ?的并且建議 ?用?mysqld --initialize命令

?mysql5.7之前版本初始化配置表命令:

?script/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

?--user ?啟動mysql的用戶

?--basedir ?mysql安裝目錄

?--datadir ?mysql數據倉庫目錄

?①初始化表配置正確執行步驟:

  1. [root@rhel5-32?mysql]#?mkdir?data??
  2. [root@rhel5-32?mysql]#?bin/mysqld?--initialize?--user=mysql?--basedir=/usr/local/mysql?--datadir=/usr/local/mysql/data??

  注意最后一行,這也是和之有版本不同的地方,它給了root一個初始密碼,后面要登錄的時候要用到這個密碼。

?

  mysql初始化工作依賴libaio包,如果沒有安裝就會出現這個錯誤 “bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory”。
  檢查是否已安裝:
  yum search libaio 或 apt-cache search libaio
  如果沒有,則安裝:
  yum install libaio 或 apt-get install libaio1
  yum適用于centos/readhat等系統,apt-get適用于ubuntu、debian系統,請按自己需要選擇。

  error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
  yum 安裝的libnuma.so.1,但安裝時默認安裝的是32的,但db2需要的是64位的
  1.如果已經安裝了libnuma.so.1,先yum remove libnuma.so.1
  2.yum -y install numactl.x86_64

?

②將mysql/目錄下除了data/目錄的所有文件,改回root用戶所有,mysql用戶只需作為mysql/data/目錄下所有文件的所有者。

  1. [root@rhel5-32?mysql]#?chown?-R?root?.??
  2. [root@rhel5-32?mysql]#?chown?-R?mysql?data?

mysql5.7以后配置文件需要刪除my.cnf關鍵配置,?mysql5.7之前默認配置文件中是有配置項的,不用手動修改

  rm -rf /etc/my.cf

4. 將mysqld服務加入開機自啟動項。

?將{mysql}/ support-files/mysql.server 拷貝為/etc/init.d/mysql并設置運行權限,這樣就可以使用service mysql命令啟動/停止服務,

?否則就只能使用{mysql}/bin/mysqld_safe &命令來啟動服務

?還需要把mysql.server中basedir的相關路徑,改為自定義的路徑,默認路徑是/usr/local/mysql

  1. #cp?mysql.server?/etc/init.d/mysql??
  2. #chmod?+x?/etc/init.d/mysql??

?把mysql注冊為開機啟動的服務

   1.chkconfig?--add?mysql?

查看是否添加成功

  1. [root@rhel5-32?mysql]#?chkconfig?--list?mysql??
  2. mysqld??????????0:關閉??1:關閉??2:啟用??3:啟用??4:啟用??5:啟用??6:關閉??

5.mysql服務的開啟和關閉

  1. #/etc/init.d/mysql?start???或者???serivce?mysql?start??或者??bin/mysqld_safe&??
  2. #/etc/init.d/mysql?stop????或者???service?mysql?stop???或者??bin/mysqladmin?-uroot?-p??

?注:在bin/mysqld_safe&這個啟動腳本里已默認設置--user=mysql;在腳本末尾加&表示設置此進程為后臺進程,區別就是在控制臺輸入bg,即可將當前進 ?程轉入后臺, ?當前shell ?可進行其他操作。

?bin/mysqladmin -uroot -p??(注意此時的root是指mysql的root用戶)

6.加入環境變量建立軟鏈接:運行mysql命令會出現 ? -bash: mysql:command not found
ln -s /Ultrapower/test/mysql/bin/mysql ?/usr/local/bin
ln -s /Ultrapower/test/mysql/bin/mysqladmin ?/usr/local/bin
ln -s /Ultrapower/test/mysql/bin/mysqld_safe ?/usr/local/bin
修改/etc/profile文件使其永久性生效,并對所有系統用戶生效,在文件末尾加上如下兩行代碼
?PATH=$PATH:/Ultrapower/test/mysql:/Ultrapower/test/mysql/bin
?export PATH
?最后:執行 命令source /etc/profile或 執行點命令 ./profile使其修改生效,執行完可通過echo $PATH命令查看是否添加成功。
7.修改密碼:
  vim /ust/local/mysql/data下的某個文件

mysql 8.0 默認使用 caching_sha2_password 身份驗證機制 —— 從原來的 mysql_native_password 更改為 caching_sha2_password。?
從 5.7 升級 8.0 版本的不會改變現有用戶的身份驗證方法,但新用戶會默認使用新的 caching_sha2_password 。

客戶端不支持新的加密方式。

方法之一,修改用戶的密碼和加密方式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

mysql8.*的新特性 caching_sha2_password 密碼加密方式

以前版本的mysql密碼加密使用的是 mysql_native_password
新添加的用戶密碼默認使用的 caching_sha2_password
如果在以前mysql基礎上升級的 就得用戶使用的密碼加密使用的是 mysql_native_password
如果使用以前的密碼加密方式,就修改文件 /etc/my.cnf
[mysqld]

default_authentication_plugin=mysql_native_password

一. 創建用戶

命令:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

說明:

  • username:你將創建的用戶名
  • host:指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost,如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%
  • password:該用戶的登陸密碼,密碼可以為空,如果為空則該用戶可以不需要密碼登陸服務器

例子:

CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';

二. 授權:

命令:

GRANT privileges ON databasename.tablename TO 'username'@'host'

說明:

  • privileges:用戶的操作權限,如SELECTINSERTUPDATE等,如果要授予所的權限則使用ALL
  • databasename:數據庫名
  • tablename:表名,如果要授予該用戶對所有數據庫和表的相應操作權限則可用*表示,如*.*

例子:

GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';
GRANT ALL ON maindataplus.* TO 'pig'@'%';

注意:

用以上命令授權的用戶不能給其它用戶授權,如果想讓該用戶可以授權,用以下命令:

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

三.設置與更改用戶密碼

命令:

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

如果是當前登陸用戶用:

SET PASSWORD = PASSWORD("newpassword");

例子:

SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");

四. 撤銷用戶權限

命令:

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

說明:

privilege, databasename, tablename:同授權部分

例子:

REVOKE SELECT ON *.* FROM 'pig'@'%';

注意:

假如你在給用戶'pig'@'%'授權的時候是這樣的(或類似的):GRANT SELECT ON test.user TO 'pig'@'%',則在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤銷該用戶對test數據庫中user表的SELECT?操作。相反,如果授權使用的是GRANT SELECT ON *.* TO 'pig'@'%';REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤銷該用戶對test數據庫中user表的Select權限。

具體信息可以用命令SHOW GRANTS FOR 'pig'@'%';?查看。

五.刪除用戶

命令:

DROP USER 'username'@'host';    

五.查詢用戶權限

命令:

select host,user from mysql.user    

轉載于:https://www.cnblogs.com/liushuchen/p/8320079.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251068.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251068.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251068.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Kali Linux2018 上安裝open-vm-tools實現虛擬機交互

最新的kali linux2018已經不再支持原有的vmwaretools,即使安裝了也不能實現主機與客戶機之間的交互(比如從主機復制文件到客戶機)。安裝open-vm-tools替代vm tools能夠完美實現“自動適應客戶機”(即自動適應客戶機的分辨率&#…

DOM-11 【兼容】鼠標行為坐標系、pageXY封裝、拖拽函數封裝

鼠標行為 e.屬性含義相關屬性clientX/Y鼠標位置相對于當前可視區域的坐標x/y(FF火狐部分版本不支持)pageX/Y(IE9以下不支持)鼠標位置相對于當前文檔的坐標layerX/Y (IE11以下同clientX/Y)screenX/Y鼠標位置相對于顯示器屏幕的坐標offsetX/Y鼠標位置相對…

java --replaceAll方法

public void abc(){String str "aabbccdd";str str.replaceAll("\\d","數字");system.out.println("str"); } 轉載于:https://www.cnblogs.com/gjack/p/8325778.html

mysql分頁優化

一般分頁這樣寫 select * from goods limit 50,20 從50行開始取20行,即第51行到70行 當數據量少當時候這樣并沒有什么問題,但是如果 select * from goods limit 1000000,20 查詢耗時驟升。 這種方式是查詢出100000020行,再取20行,…

DOM-10 面向對象開發Todolist

將插件配置項寫在html的div里&#xff0c;data-config自定義屬性&#xff0c;外單引號&#xff0c;內雙引號&#xff08;內部是JSON字符串&#xff09; <div class"todo-wrap" data-config{"plusBtn":"j-show-input","inputArea":…

計網 --- 域名服務系統:因特網的目錄服務

主機名: // 主機的一種標識方法如: cnn.com www.yahoo.com gaia.cs.umass.edu cis.poly.edu主機名可能由不定長的字母數字組成,路由器難以處理.由于這些原因, 主機也可以使用IP地址(IP address) 進行標識 // 簡略介紹ip地址 // 一個IP地址由4個字節組成,并有著嚴格的層次結構…

Ansible基礎概述

一、Ansible簡介 Ansible基于Python語言實現&#xff0c;由paramiko和PyYAML兩個關鍵模塊構建。Ansible的編排引擎可以出色地完成配置管理&#xff0c;流程控制&#xff0c;資源部署等多方面工作。Ansible公司負責Ansible開源軟件的維護&#xff0c;管理。一般軟件的更新大概每…

selenium瀏覽器驅動下載地址整理

今天把手頭有的一些關于selenium測試的資源整理了一下&#xff0c;分享出來。 1. 所有版本chrome下載 是不是很難找到老版本的chrome&#xff1f;博主收集了幾個下載chrome老版本的網站&#xff0c;其中哪個下載的是原版的就不得而知了。 http://www.slimjet.com/chrome/google…

DOM-12 【模擬桌面待講評】鼠標事件深入、點擊與拖拽分離、雙擊事件

鼠標事件深入 點擊事件 mousedown mouseupposition: absolute 會將內聯元素變為塊級&#xff08;比如a&#xff09;a標簽的協議限定符&#xff08;偽協議&#xff0c;防止跳轉和刷新&#xff0c;讓href不生效&#xff09;&#xff0c;javascript:;&#xff0c;可以讓點擊和拖…

scrapy的操作

轉載于:https://www.cnblogs.com/mengqingjian/p/8337772.html

http --- HTTPS是在安全的傳輸層上發送的HTTP

HTTPS: // HTTPS是最常見的HTTP安全版本 // 是在安全的傳輸層上發送的HTTP// 將HTTP報文發送給TCP之前,先將其發送給了一個安全層(通過SSL協議實現),對其進行加密.然后再發送給TCP // 在服務器端,通過提取商量好的密鑰進行解密HTTPS方案: // 對Web服務器發起請求時,需要有一種…

Devexpress xaf針對某個用戶登錄后在面板中設置導航無效的解決方法

Devexpress xaf框架生成的項目默認情況下導航欄是顯示在左側&#xff0c;有時候我們用某個賬戶登錄后&#xff0c;發現導航欄無法顯示在左側&#xff0c;操作十分不方便。我們可以去數據庫刪除當前登錄用戶的自定義布局 解決方法如下: 1、查詢PermissionPolicyUser用戶表&#…

DOM-13 【實戰】輸入及狀態改變事件、京東搜索框

模塊化 IIFE window.onload function () {init() }function init() {keySearch()others() // 多人開發的模塊 }var keySearch (function () {var searchKw document.getElementById(J_search_kw),autoKw document.getElementById(J_autoKw),recomKw JSON.parse(document…

吳恩達“機器學習”——學習筆記二

定義一些名詞 欠擬合&#xff08;underfitting&#xff09;&#xff1a;數據中的某些成分未被捕獲到&#xff0c;比如擬合結果是二次函數&#xff0c;結果才只擬合出了一次函數。 過擬合&#xff08;overfitting&#xff09;&#xff1a;使用過量的特征集合&#xff0c;使模型過…

Http 概述

Http是可靠的數據傳輸協議。資源Web服務器是Web資源&#xff08;resource&#xff09;的宿主。包括靜態文件以及動態的內容。 媒體類型Http對每種需要由web傳輸的對象都打上了名為MIME類型的數據格式標簽。主要的mime類型: text/htmltext/plainimage/jpegimage/gifvideo/quickt…

DOM-14 【實戰】解決事件代理和鼠標移動事件的窘態

鼠標的滑入滑出 案例 事件現象應用場景mouseover/mouseout綁定在父元素時&#xff0c;對她的所有子元素&#xff0c;事件都生效dom結構簡單mouseenter/mouseleave只對她綁定的元素有效&#xff0c;對window綁定無效dom結構簡單mousemove長觸發dom結構復雜// 綁定在父元素上 /…

項目開發的一般流程

項目開發的一般流程 確定項目需求&#xff1a;拿下一個項目編寫《需求說明書》&#xff1a;使用文字和圖片的形式將業務表現清楚。不涉及技術&#xff0c;只涉及業務需求。這個環節要和客戶反復溝通。編寫《概要設計說明書》&#xff1a; 涉及技術的的宏觀性的內容&#xff0c;…

獲取日期的區間數組

Date.prototype.Format function (fmt) { //author: meizz var o { "M": this.getMonth() 1, //月份 "d": this.getDate(), //日 "h": this.getHours(), //小時 "m": this.getMinutes(), //分 "s": this.getSeconds(), /…

javascript --- 再讀作用域和閉包

執行環境: // 定義了變量或函數有權訪問的其他數據,決定了它們各自的行為 // 每個執行環境都有一個與之關聯的變量對象 // 執行環境中定義的所有變量和函數都保存在這個變量中執行環境與函數: // 每個函數都有自己的執行環境,當執行流進入一個函數時,函數的環境就會被推入一個…

DOM-15/16【實戰】鼠標行為預測技術

鼠標預測行為動作復雜&#xff0c;使用事件代理得不償失&#xff0c;在數量有限的情況下&#xff0c;使用循環綁定更好用戶從menu斜著向右下角滑入時&#xff0c;可能是進入main&#xff0c;也可能是要選擇子菜單&#xff0c;在判斷前先做延遲如何判斷用戶進入main的意圖&#…