1. 程式人生 > >Linux環境下安裝Mysql

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

若有不正確的地方,歡迎大家批評指正。