程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql (一)Mysql 在Linux系統安裝

Mysql (一)Mysql 在Linux系統安裝

編輯:MySQL綜合教程

Mysql (一)Mysql 在Linux系統安裝


引言

 

現在因為項目的需要在搭建Mysql的集群,從最簡單的開始,先安裝一個Mysql 在linux系統下。

 

步驟:

 

第一步:安裝:

 

 

tarmysql-5.5.48-linux2.-x86_64.tar.gz

 

Copy到指定的路徑下:

 

 

cpmysql-5.5.48-linux2.6-x86_64 /usr/local/mysql -r

 

\

 

添加系統mysql組合mysql用戶:

 

 

執行命令:groupaddmysql和useradd -r -g mysql mysql

 

\

 

安裝數據庫:

 

 

進入安裝mysql軟件目錄:執行命令 cd/usr/local/mysql

修改當前目錄擁有者為mysql用戶:執行命令chown -R mysql:mysql ./

安裝數據庫:執行命令./scripts/mysql_install_db --user=mysql

修改當前目錄擁有者為root用戶:執行命令chown -R root:root ./

修改當前data目錄擁有者為mysql用戶:執行命令chown -R mysql:mysql data

到此數據庫安裝完畢

 

\

 

\

 

 

啟動mysql服務和添加開機啟動mysql服務:

添加開機啟動:執行命令cpsupport-files/mysql.server /etc/init.d/mysql,把啟動腳本放到開機初始化目錄

啟動mysql服務:執行命令servicemysql start

 

\

 

 

第二步:如何配置mysql:

 

 

查看咱們的mysql是否啟動成功:

 

輸入:ps -ef | grep mysql

 

\

 

 

修改mysql的root用戶密碼,root初始密碼為空的:

執行命令:./bin/mysqladmin -u root -h localhost.localdomain password '密碼'

 

\

 

 

把mysql客戶端放到默認路徑:

ln -s/usr/local/mysql/bin/mysql /usr/local/bin/mysql

 

\

 

注:

 

當啟動客戶端的時候,報:

Can't connect tolocal MySQL server through socket '/tmp/mysql.sock' (2)

 

解決方法:

 

 

問題,後來查看了一下咱們的,/etc/my.cnf:

 

 

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

解決方案:

socket在/var/lib/mysql/mysql.sock路徑下,這個時候,我們需要將如鏈接到mysql.sock到tmp/mysql.sock中就可以了。

 

注:其實,這個問題很明顯了,大家看Socket的參數,在/var/lib/mysql/mysql.sock中,而tcp協議要找的地址為tmp/mysql.sock,所以,我們要不然醬上面的sockket=/tmp/mysql.sock。當然我們都知道,其實,我們只需要軟連接到tmp/mysql.sock中就可以了。

 

我們采用的方法:

 

\

 

另外我們解決windows系統連接不上linux系統的mysql的問題:

\

這樣,我們其實,我們所有對mysql的登陸,都是在mysql中的mysql庫中的user表中進行登陸的,這個表中我們windows連接的時候,是這樣的'user@host'的,舉個簡單的例子就是,如果我的電腦的ip為‘192.168.22.28’,那麼我發出的連接,就是這樣的'[email protected]',這樣,因此,我們在修改的時候,host為'%',代表了所有的連接客戶端,這個時候,我們只需要對這個的password進行修改就可以了。

但是,我在我的Navicat中連接的時候,發現不能鏈接上,那麼我就要查一下,看看是不是密碼不對呀,我們再次查看user表:

 

\

我們可以看到,上面我們修改的密碼為localhost為‘123456’(這裡都是用MD5加密的),但是我們用的是‘%’,這個時候,發現兩個的密碼不同的,這個時候,我們需要查看一下密碼是什麼,當然,我猜了一下,應該是root,因此,我把navicat的鏈接密碼為‘root’,發現能鏈接上了。。。

 

大家還可能出現這樣的問題:

\

就是這樣的telnet 連接mysql,出現亂碼加h_mysql_native_passowrd的問題,這個時候,不要管它就可以了。沒有什麼影響的。

 

結論:

我們在做什麼事情的時候,都需要去一邊思考一邊學習,才能讓效率更快!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved