溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在紅帽系統(tǒng)添加mysql的方法

發(fā)布時(shí)間:2020-11-16 10:51:48 來源:億速云 閱讀:231 作者:小新 欄目:MySQL數(shù)據(jù)庫

小編給大家分享一下在紅帽系統(tǒng)添加mysql的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

在紅帽系統(tǒng)添加mysql的方法:首先以root用戶登錄紅帽系統(tǒng);然后創(chuàng)建mysql用戶和mysql組;接著設(shè)定數(shù)據(jù)存儲(chǔ)目錄;最后進(jìn)入mysql目錄,手動(dòng)執(zhí)行數(shù)據(jù)庫初始化腳本并進(jìn)行相關(guān)配置文件修改即可。

在Redhat紅帽系統(tǒng)中編譯安裝MySQL
0、以root用戶登錄系統(tǒng),進(jìn)行如下操作

可以避免一些麻煩,如:安裝完成之后無法設(shè)定密碼,看不到mysql庫。

1、將通用二進(jìn)制壓縮包解壓縮至 /usr/local 官方的要求,并且目錄名稱必須是mysql
  • 進(jìn)入壓縮包目錄,執(zhí)行如下命令,解壓縮
    tar xf mysql****.tar.gz -C /usr/local
  • 創(chuàng)建鏈接
    cd /usr/local
    ln -sv mysql***** mysql
2、創(chuàng)建mysql用戶mysql組(超過500的就不是系統(tǒng)用戶了,系統(tǒng)用戶沒有家目錄)

groupadd -r -g 306 mysql
useradd -r -g 306 -u 306 mysql

進(jìn)入mysql目錄,里面有個(gè)INSTALL-BINARY的文件,里面有具體的安裝說明。

3、修改mysql目錄下所有文件的屬主屬組

chown -R mysql.mysql /usr/local/mysql/*

4、設(shè)定數(shù)據(jù)存儲(chǔ)目錄
  • 創(chuàng)建數(shù)據(jù)目錄:(根據(jù)需要指定)
  • 修改數(shù)據(jù)目錄權(quán)限:
    chown -R mysql.mysql 數(shù)據(jù)目錄(指定數(shù)據(jù)目錄屬主屬組為mysql用戶mysql組)
    chmod o-rx 數(shù)據(jù)目錄 (其它用戶沒有任何權(quán)限)
    保證數(shù)據(jù)目錄的屬主屬組是mysql,其他用戶沒有任何權(quán)限
5、進(jìn)入mysql目錄,手動(dòng)執(zhí)行數(shù)據(jù)庫初始化腳本

scripts/mysql_install_db --user=mysql --datadir=數(shù)據(jù)目錄

6、腳本執(zhí)行完之后,要把mysql目錄的屬主改成root

chown -R root /usr/local/mysql/*

7、在mysql/support-files目錄下有mysql.server(mysql啟動(dòng)腳本)
  • 復(fù)制并重命名該腳本
    cp support-files/mysql.server /etc/init.d/mysqld
  • 查看一下mysqld是否有執(zhí)行權(quán)限,沒有就給執(zhí)行權(quán)限
  • 將mysqld加入到服務(wù)列表
    chkconfig --add mysqld
  • 查看是否自動(dòng)啟動(dòng)是否開啟
    chkconfig --list mysqld  (2 3 4 5 為on即可)
8、此時(shí)mysqld還不能啟動(dòng),需要修改一下配置文件
  • 默認(rèn)位置: /etc/my.cnf
  • mysql讀取配置文件的方式非常獨(dú)特
    mysql配置文件是片段式的、集中式的(可以為多個(gè)服務(wù)配置)
[mysql]——客戶端配置
[mysqld]——服務(wù)端配置
[client]——對(duì)所有的客戶端程序都生效
  • mysql讀取配置文件的順序:
    /etc/my.cnf --> /etc/mysql/my.cnf
    --> $BASEDIR/my.cnf (通常是安裝目錄)
    --> ~/.my.cnf (用戶家目錄下的配置文件,即使mysql用戶沒有家目錄也找一遍)

如果找到的四處配置文件有沖突,以最后一個(gè)為準(zhǔn)(后一個(gè)覆蓋前一個(gè)
即使沒有任何配置文件,mysql也能跑,在support-files目錄下提供了一堆默認(rèn)配置文件

  • 復(fù)制一個(gè)配置文件到 /etc/my.cnf
    cp support-files/my-large.cnf /etc/my.cnf
  • 進(jìn)行編輯修改配置文件
    vi /etc/my.cnf
  • 在[mysqld]片段中加上數(shù)據(jù)目錄配置信息,至關(guān)重要
    datadir = /數(shù)據(jù)目錄
9、 啟動(dòng)mysqld服務(wù)

service mysqld start
查看啟動(dòng)狀態(tài)
netstat -tnlp

10、進(jìn)入mysql數(shù)據(jù)庫

執(zhí)行mysql發(fā)現(xiàn)找不到命令
查看 ls /usr/local/mysql/bin/,發(fā)現(xiàn)有 mysql 命令
需要將mysql命令添加至系統(tǒng)目錄
創(chuàng)建腳本文件:
vi /etc/profile.d/mysql.sh
添加 export PATH=$PATH:/usr/local/mysql/bin
保存退出
重新登陸,再次執(zhí)行 mysql 就能進(jìn)入mysql數(shù)據(jù)庫啦

11、mysql服務(wù)器維護(hù)了兩類變量
  • 服務(wù)器變量:定義MySQL服務(wù)器運(yùn)行特征
    查看命令:show global variables [like 'data%'] (調(diào)優(yōu)時(shí)使用)
  • 狀態(tài)變量:保存了MySQL服務(wù)器運(yùn)行時(shí)的統(tǒng)計(jì)數(shù)據(jù)
    查看命令:show global status [like 'datadir'] (實(shí)時(shí)監(jiān)控使用)
12、設(shè)定密碼

[方法一]在mysql提示符下執(zhí)行
mysql>set password for 'username'@'host'=password('password');
修改用戶信息之后,要重讀授權(quán)表
mysql>flush privileges;

[方法二]在Linux命令提示符下執(zhí)行
# mysqladmin -uUsername -hHost -p password 'password'(如果沒有密碼可以省略-p)

[方法三]修改mysql庫中的user表
update user set Password=password("password") where user="user" and host="***"

創(chuàng)建mysql的root用戶遠(yuǎn)程訪問(對(duì)所有庫.所有表)
mysql>grant all privileges on . to 'root'@'192.16.%.%' identified by "password";

重讀授權(quán)表
mysql>flush privileges;

[方法四]安裝完之后提示的密碼修改方式:
./bin/mysqladmin -u root password 'new-password'
./bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

13、將mysql幫助文檔添加至幫助命令

vi /etc/man.config
添加一行
MANPATH /usr/local/mysql/man
保存退出

14、創(chuàng)建數(shù)據(jù)庫并指定字符集
CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
15、創(chuàng)建用戶用于SqlYog登錄
#  創(chuàng)建一個(gè)本地登錄的用戶,并授予全部權(quán)限
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
    ->     WITH GRANT OPTION;

# 創(chuàng)建一個(gè)遠(yuǎn)程登錄用戶,并授予全部權(quán)限
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
    ->     WITH GRANT OPTION;

# 最厚要刷新一下授權(quán)表
mysql> flush privileges;

原文: Host 'xxx.xx.xxx.xxx' is not allowed to connect to this MySQL server

16、數(shù)據(jù)備份與恢復(fù)

(一)數(shù)據(jù)備份

#  1、備份一個(gè)數(shù)據(jù)庫(根據(jù)提示輸入密碼,如果備份遠(yuǎn)程數(shù)據(jù)庫,需要加上 -h 參數(shù))
$ mysqldump -h host -u username -p database_name > back_name.sql

# 2、備份 test 數(shù)據(jù)庫中的 emp 表(根據(jù)提示輸入密碼)
 $ mysqldump -u username -p test emp > emp.sql

# 3、備份 test 數(shù)據(jù)庫中的 emp 表 和 dept 表(根據(jù)提示輸入密碼)
 $ mysqldump -u username -p test emp dept > emp_dept.sql

# 4、備份多個(gè)數(shù)據(jù)庫
$ mysqldump -hhostname -uusername -ppassword  databasename1  databasename2> multibackupfile.sql

# 5、備份所有的數(shù)據(jù)庫
$ mysqldump –all-databases > allbackupfile.sql

# 6、只備份數(shù)據(jù)庫結(jié)構(gòu)
$ mysqldump  –no-data  –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

(二)數(shù)據(jù)恢復(fù)

# 1、還原數(shù)據(jù)庫(根據(jù)提示輸入密碼,如果備份遠(yuǎn)程數(shù)據(jù)庫,需要加上 -h 參數(shù))
$ mysql -hhostname -uusername -ppassword databasename < backupfile.sql

# 2、導(dǎo)入數(shù)據(jù)( 常用source命令,進(jìn)入某個(gè)數(shù)據(jù)庫,指定備份的腳本文件)
mysql> source d:\test.sql

# 3、將數(shù)據(jù)庫遷移至新服務(wù)器
$ mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

看完了這篇文章,相信你對(duì)在紅帽系統(tǒng)添加mysql的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI