標籤:har download pass 下載 get cte 開機自啟動 host err
MySQL 系列(一)安裝
以 Centos7 下安裝 MySQL 5.6 為例。
一、環境準備
(1) 下載
: https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
(2) 安裝依賴
yum -y install perl perl-devel autoconf libaio
(3) 卸載已安裝的 MySQL
yum list installed | grep mysql # 查詢已安裝的 MySQLyum -y remove mysql-libs.x86_64 # 卸載
(4) 建立 mysql 使用者
userdel mysql # 刪除 mysql 使用者groupdel mysql # 刪除 mysql 使用者組groupadd mysql # 建立 mysql 使用者組useradd -g mysql mysql # 建立 mysql 使用者並加入 mysql 使用者組passwd mysql # mysq 添加密碼
(5) sudo 免密碼操作
visudomysql ALL=(ALL) ALL%wheel ALL=(ALL) NOPASSWD: ALL# 使用者加入 wheel 組gpasswd -a mysql wheel
二、MySQL 安裝
(1) 切換到 mysql 帳號
# 切換到 mysql 帳號su mysql# 切換到 mysql 目錄cd
(2) 將下載的二進位安裝包解壓後放到 /usr/local/mysql 目錄下
tar -zxvf mysql-5.6.38-linux-glibc2.12-x86_64.tar.gzsudo mv mysql-5.6.38-linux-glibc2.12-x86_64 /usr/local/mysql
(3) 環境變數
sudo vim /etc/profile.d/start.shexport PATH=$PATH:/usr/local/mysql/binsource /etc/profile.d/start.sh # 立即生效
(4) 在 etc 下建立設定檔 my.cnf
[mysql]# 設定mysql用戶端預設字元集default-character-set=utf8 socket=/var/lib/mysql/mysql.sock[mysqld]user=mysqlskip-name-resolve#設定3306連接埠port = 3306 socket=/var/lib/mysql/mysql.sock# 設定mysql的安裝目錄basedir=/usr/local/mysql# 設定mysql資料庫的資料的存放目錄datadir=/usr/local/mysql/data# 允許最大串連數max_connections=200# 服務端使用的字元集預設為8位元編碼的latin1字元集character-set-server=utf8# 建立新表時將使用的預設儲存引擎default-storage-engine=INNODB lower_case_table_names=1max_allowed_packet=16M
(5) 建立 /var/lib/mysql 並將使用者修改為 mysql
# my.cnf 檔案中配製的 socket 目錄sudo mkdir /var/lib/mysqlsudo chown -R mysql:mysql /var/lib/mysql
(6) 初始化 MySQL
./scripts/mysql_install_db --user=mysql
到此 MySQL 安裝完畢!下面介紹 MySQL 作為服務啟動方式。
三、MySQL 啟動
1、添加mysql服務開機自啟動
sudo cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld # 複製啟動指令碼到資來源目錄sudo chmod +x /etc/rc.d/init.d/mysqld # 增加 mysqld 服務控制指令碼執行許可權sudo chkconfig --add mysqld # 將 mysqld 服務加入到系統服務sudo chkconfig --list mysqld # 檢查 mysqld 服務是否已經生效
命令輸出類似下面的結果:
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明 mysqld 服務已經生效,在2、3、4、5運行層級隨系統啟動而自動啟動,以後可以使用 service 命令控制 mysql 的啟動和停止。
2、啟動msql
service mysqld start # 啟動 msqlservice mysqld stop # 停止msql
四、許可權控制
(1) 設定 mysql 帳號和密碼
以 root 賬戶登陸 mysql,預設是沒有密碼
update user set password=password(‘you password‘) where user=‘root‘ and host=‘localhost‘;GRANT ALL PRIVILEGES ON *.* TO ‘your username‘@‘%‘ IDENTIFIED BY ‘your password‘ WITH GRANT OPTION;GRANT USAGE ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘root‘ WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO [email protected]‘%‘ IDENTIFIED BY ‘root‘;FLUSH PRIVILEGES;
(2) 去除匿名使用者
delete from mysql.user where User=‘‘; # 刪除匿名使用者,使用root使用者登入資料庫flush privileges;
五、錯誤處理
MySQL 日誌儲存目錄: my.cnf 中配製了 datadir 目錄,如 datadir=/usr/local/mysql/data,在 datadir 目錄下會建立一個 “主機名稱.err” 的檔案
(1) 問題 1:Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)
解決方案:
開啟 /etc/my.cnf,看看裡面配置的 socket 位置是什麼目錄,如 socket=/var/lib/mysql/mysql.sock
MySQL 服務端啟動時報錯,則很可能是 mysql 使用者沒有操作 /var/lib/mysql 的許可權。一般將 /var/lib/mysql 使用者修改為 mysql 使用者可以解決問題。
chown -R mysql:mysql /var/lib/mysql
MySQL 用戶端串連時報錯,則很可能是 socket 路徑和 “/tmp/mysql.sock” 不一致。建立一個軟串連:
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
每天用心記錄一點點。內容也許不重要,但習慣很重要!
MySQL 系列(一)安裝