標籤:
centos安裝 mysql
1. 下載mysql
mysql被oracle收購後現在退出了企業版和社區版本,社區版本是開源的,企業版是收費的。
社區版可以下載源碼也可以下載二進位檔案包。源碼安裝比較麻煩,有很多依賴,如果沒有特殊的要求可以直接下載二進位包安裝。
我是下載的是社區版 MySQL Community Server ,選擇的系統選項為 Linux - Generic 64位 最新版本5.6.32
2. 解壓包
tar xzvf mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz
3. 複製目錄
複製解壓後的mysql目錄到系統的本地軟體目錄:
執行命令:cp -r mysql-5.6.32-linux-glibc2.5-x86_64 /usr/local/mysql
4. 添加系統mysql組和mysql使用者:
執行命令:groupadd mysql和useradd -r -g mysql -s /bin/false mysql
5. 安裝資料庫:
進入安裝mysql軟體目錄:執行命令 cd /usr/local/mysql
修改目前的目錄擁有者為mysql使用者:執行命令 chown -R mysql:mysql /usr/local/mysql
初始化資料庫(5.7.6之後版本執行如下命令):
bin/mysqld --initialize --user=mysql --datadir=/var/lib/mysql/data
bin/mysql_ssl_rsa_setup
(5.7.6之前的版本執行如下命令)
scripts/mysql_install_db --user=mysql
執行後,預設的資料檔案放置在 /var/lib/mysql下面
修改目前的目錄擁有者為root使用者:執行命令 chown -R root:mysql /usr/local/mysql
修改當前data目錄擁有者為mysql使用者:執行命令 chown -R mysql:mysql /var/lib/mysql/data
到此資料庫安裝完畢
6. 啟動mysql服務和添加開機啟動mysql服務:
添加開機啟動:執行命令cp support-files/mysql.server /etc/init.d/mysql,把啟動指令碼放到開機初始化目錄
啟動mysql服務:執行命令service mysql start
執行命令:ps -ef|grep mysql 看到mysql服務說明啟動成功
7. 把mysql用戶端放到預設路徑:
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
注意:建議使用軟鏈過去,不要直接包檔案複製,便於系統安裝多個版本的mysql
8. 修改mysql的root使用者密碼,5.7之前的版本root初始密碼為空白的,5.7之後的預設有一個隨機的密碼,且密碼存放的欄位發生了改變,user表中沒有password欄位了:
5.7.6之前版本執行命令:./bin/mysqladmin -u root password ‘密碼‘
9.這時雖然可以使用了,但是如果想遠程圖形用戶端訪問還需要設定存取權限,5.7和之前的版本也是不一樣的,需要注意。
登入:
mysql -uroot -p
進入mysql系統資料庫:
use mysql;
建立使用者:
CREATE USER ‘testuser‘@‘%‘ IDENTIFIED BY ‘password‘;
說明:testuser - 你將建立的使用者名稱, 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 - 使用者的操作許可權,如SELECT , INSERT , UPDATE 等(詳細列表見該文最後面).如果要授予所的許可權則使用ALL.;databasename - 資料庫名,tablename-表名,如果要授予該使用者對所有資料庫和表的相應操作許可權則可用*表示, 如*.*.
許可權包括select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14個許可權。
例子: GRANT SELECT, INSERT ON test.user TO ‘pig‘@‘%‘;
GRANT ALL ON *.* TO ‘pig‘@‘%‘;
注意:用以上命令授權的使用者不能給其它使用者授權,如果想讓該使用者可以授權,用以下命令:
GRANT privileges ON databasename.tablename TO ‘username‘@‘host‘ WITH GRANT OPTION;
修改字元集為utf-8,避免無法寫入中文。
下一篇:移動mysql資料目錄,待續
centos安裝 mysql