1. 程式人生 > >剛哥的mysql5.6安裝總結,很全面

剛哥的mysql5.6安裝總結,很全面

0、解除安裝老版本MySQL

查詢並刪除mysql有關的檔案

find / -name mysql

rm -rf 上邊查詢到的路徑,多個路徑用空格隔開

#或者下邊一條命令即可

find / -name mysql|xargs rm -rf

  1. 在安裝包存放目錄下執行命令解壓檔案:

tar -zxvf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz

 

  2.刪除安裝包,重新命名解壓後的檔案 移動解壓後的到/usr/local

rm -f mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.6.42-linux-glibc2.12-x86_64/ mysql

mv mysql/ /usr/local/

 

3、新增mysql使用者組和mysql使用者

先檢查是否有mysql使用者組和mysql使用者groups mysql

若無,則新增;

groupadd mysql

useradd -r -g mysql mysql

若有,則跳過;

4、進入mysql目錄更改許可權cd /usr/localmysql/

chown -R mysql:mysql ./

5、執行安裝指令碼./scripts/mysql_install_db --user=mysql

報錯1. 缺少依賴

解決1.  下載依賴

yum -y install perl perl-devel

 

報錯2. 缺少依賴

解決2.  下載依賴

yum install libaio* -y

 

報錯3. 缺少依賴

解決3.  下載依賴

yum -y install numactl

 

安裝完之後修改當前目錄擁有者為root使用者,修改data目錄擁有者為mysql

chown -R root:root ./

chown -R mysql:mysql data

6、更改mysql密碼上一步安裝指令碼執行輸出的日誌中告訴我們如何更改密碼了

但是如果直接執行這兩條命令就會報錯

因為這時還沒有啟動mysql,這算是一個坑。啟動方法如下

./support-files/mysql.server start

如果MySQL啟動報錯,則可能是已經存在MySQL程序,殺掉即可

ps aux|grep mysql

kill -9 上邊的程序號

#或者下邊一條命令即可殺掉所有MySQL程序

ps aux|grep mysql|awk '{print $2}'|xargs kill -9

 

殺掉後再啟動即可。

 

MySQL啟動之後再執行如下命令更改密碼:

./bin/mysqladmin -u root -h localhost.localdomain password 'root'

 

密碼更改後即可登入MySQL

./bin/mysql -h127.0.0.1 -uroot -proot

 

登入之後將其他使用者的密碼也可改為root

update mysql.user set password=password('root') where user='root';

flush privileges;

退出後用mysql -u root -proot 登陸會報錯

-bash:mysql:command not found

 

問題原因:因為mysql命令的路徑在/usr/local/mysql/bin下面,所以你直接使用mysql命令時,系統在/usr/bin下面查此命令,所以找不到了 解決方法: ln -s /usr/local/mysql/bin/mysql /usr/bin 做個連結即可 

做好mysql軟鏈後登陸mysql又報個錯

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

 

問題原因: 找不到mysql.sock

解決方法: 執行find / -name mysql.sock 找到以後做個軟鏈

7、增加遠端登入許可權上一步即可本地登入,但遠端登入會報錯 

為解決這一問題,需要本地登陸MySQL後執行如下命令

grant all privileges on *.* to [email protected]'%' identified by 'root';

flush privileges;

 

設定好遠端登陸許可權許可權以後 navicate還是登陸不上

這裡是因為centos本身的防火牆導致的  這裡需要設定一下

 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 放在下面的位置

不要亂放,這就開放了mysql遠端連線的埠,然後重啟一下iptables的服務就ok了。

vi /etc/sysconfig/iptables

 

 

8、將MySQL加入Service系統服務

cp support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

service mysqld restart

service mysqld status

9、配置my.cnf vim /usr/local/mysql/my.cnf

#新增以下兩條語句並儲存退出

character-set-server=utf8

lower_case_table_names=1

max_allowed_packet=100M

 

 

配置好之後,重啟mysqld服務

 

service mysqld restart