引言
現在因為項目的需要在搭建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/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysql# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0 [mysqld_safe]log-error=/var/log/mysqld.logpid-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',那麼我發出的串連,就是這樣的'root@192.168.22.28',這樣,因此,我們在修改的時候,host為'%',代表了所有的串連用戶端,這個時候,我們只需要對這個的password進行修改就可以了。
但是,我在我的Navicat中串連的時候,發現不能連結上,那麼我就要查一下,看看是不是密碼不對呀,我們再次查看user表:
我們可以看到,上面我們修改的密碼為localhost為‘123456'(這裡都是用MD5加密的),但是我們用的是‘%',這個時候,發現兩個的密碼不同的,這個時候,我們需要查看一下密碼是什麼,當然,我猜了一下,應該是root,因此,我把navicat的連結密碼為‘root',發現能連結上了。。。
大家還可能出現這樣的問題:
就是這樣的telnet 串連mysql,出現亂碼加h_mysql_native_passowrd的問題,這個時候,不要管它就可以了。沒有什麼影響的。
結論:
我們在做什麼事情的時候,都需要去一邊思考一邊學習,才能讓效率更快!