Linux環境下安裝Mysql
不管做什麼,自己沒做過,聽別人說一萬遍也不如自己親自動動手安裝一遍來的實際,一遍不行就兩遍,實在不行,三遍總能學會吧。
以前上學的時候老師講過如何在linux系統下安裝軟體,但從來沒親手試過,現在沒事試了一下linux下安裝mysql資料庫,記錄一下遇到的問題。
一、首先,安裝之前,我們需要在伺服器上新建一個名為mysql的小組,並新建一個名為mysql的使用者放在mysql組中,便於使用。
#建立小組mysql
[[email protected] ~]groupadd mysql
#建立mysql使用者並將使用者分到mysql組下
[[email protected] ~]useradd mysql
#可以檢視下使用者有沒有建立成功
[[email protected] ~]id mysql
#出現如下資訊說明建立成功
uid=997(mysql) gid=1000(mysql) groups=1000(mysql)
二、我們要下載mysql的安裝包到我們準備的linux伺服器上。兩種方式,一種是去官網下載,另一種是使用命令線上下載(需要聯網):
2、線上下載:
[[email protected] ~]wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
然後,我們需要解壓下載好的檔案並將檔案複製到mysql目錄:
#解壓mysql檔案
[[email protected] ~]tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
#複製檔案到mysql目錄
[[email protected] ~]cp -r mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql
#以上命令複製的同時會建立/usr/local/mysql目錄並將解壓好的檔案放在此目錄下
三、安裝mysql
#進入mysql目錄
[[email protected] ~]cd /usr/local/mysql
#建立mysql需要的資料夾
[[email protected] mysql]mkdir ./data/mysql
#為建立好的資料夾賦予mysql使用者的許可權
[[email protected] mysql]chown -R mysql:mysql ./
#執行安裝命令
[[email protected] mysql]./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
#有可能會報錯:FATAL ERROR: please install the following Perl modules before executing * Data::Dumper
#原因是沒有安裝其他必要的Perl軟體
#執行以下命令即可解決:
[[email protected] mysql]yum -y install perl perl-devel
#若沒有以上報錯則可以跳過上面這一步
#繼續
[[email protected] mysql]cp support-files/mysql.server /etc/init.d/mysqld
[[email protected] mysql]chmod 755 /etc/init.d/mysqld
[[email protected] mysql]cp support-files/my-default.cnf /etc/my.cnf
執行完以上命令,我們需要修改一些配置檔案來確保mysql能正常執行:
#修改mysql的啟動指令碼
[[email protected] mysql] vi /etc/init.d/mysqld
#配置以下兩項內容:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/mysql
#儲存退出
執行完以上命令,我們就可以啟動mysql了。有三種基本狀態,分別包括:
#啟動mysql服務
[[email protected] ~]service mysqld start
#檢視mysql服務啟動狀態
[[email protected] ~]service mysqld status
#停止mysql服務
[[email protected] ~]service mysqld stop
#示例
[[email protected] ~]# service mysqld status
MySQL running (10153) [ OK ]
[[email protected] ~]# service mysqld stop
Shutting down MySQL.. [ OK ]
[[email protected] ~]# service mysqld start
Starting MySQL.
至此,我們的mysql 就安裝好了。
四、修改mysql的密碼。
由於安裝的時候未指定mysql的密碼,我們首次登入mysql的時候密碼不輸入任何西,直接按回車鍵即可登入。
[[email protected] ~]mysql -u root -p
Enter password:
為了安全,我們是要自己定義密碼的:
mysql>UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
mysql>FLUSH PRIVILEGES;
#記得一定要更新許可權,否則下次不生效。
五、允許除本機之外的其他機器訪問資料庫:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'newpassword' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
msyql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
六、其他問題
1、mysqldump:unknown variable ‘sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
需要修改 /etc/my.cnf檔案裡的配置:
刪除或註釋下面一句即可:
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
2、啟動mysql 報錯: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
#解決
[[email protected] ~] find / -name mysql.sock
/tmp/mysql.sock
#驗證目錄是否正確
[[email protected] ~]mysql -u root -p -S /tmp/mysql.sock
#驗證mysql.sock檔案許可權和使用者是否正確
#若許可權有問題,則需要修改
[[email protected] ~]chown -R mysql:mysql /tmp/mysql.sock
#再次啟動,則會正常。
要想永久解決該問題,需要修改/etc/my.cnf配置檔案,在該檔案中新增以下內容:
[client]
socket = /tmp/mysql.sock
[mysqld]
socket = /tmp/mysql.sock
若有不正確的地方,歡迎大家批評指正。