引言
現(xiàn)在因?yàn)轫?xiàng)目的需要在搭建Mysql的集群,從最簡(jiǎn)單的開(kāi)始,先安裝一個(gè)Mysql 在linux系統(tǒng)下。
步驟:
第一步:安裝:
tarmysql-5.5.48-linux2.-x86_64.tar.gz
Copy到指定的路徑下:
cpmysql-5.5.48-linux2.6-x86_64 /usr/local/mysql -r
添加系統(tǒng)mysql組合mysql用戶(hù):
執(zhí)行命令:groupaddmysql和useradd -r -g mysql mysql
安裝數(shù)據(jù)庫(kù):
進(jìn)入安裝mysql軟件目錄:執(zhí)行命令 cd/usr/local/mysql
修改當(dāng)前目錄擁有者為mysql用戶(hù):執(zhí)行命令chown -R mysql:mysql ./
安裝數(shù)據(jù)庫(kù):執(zhí)行命令./scripts/mysql_install_db --user=mysql
修改當(dāng)前目錄擁有者為root用戶(hù):執(zhí)行命令chown -R root:root ./
修改當(dāng)前data目錄擁有者為mysql用戶(hù):執(zhí)行命令chown -R mysql:mysql data
到此數(shù)據(jù)庫(kù)安裝完畢
啟動(dòng)mysql服務(wù)和添加開(kāi)機(jī)啟動(dòng)mysql服務(wù):
添加開(kāi)機(jī)啟動(dòng):執(zhí)行命令cpsupport-files/mysql.server /etc/init.d/mysql,把啟動(dòng)腳本放到開(kāi)機(jī)初始化目錄
啟動(dòng)mysql服務(wù):執(zhí)行命令servicemysql start
第二步:如何配置mysql:
查看咱們的mysql是否啟動(dòng)成功:
輸入:ps -ef | grep mysql
修改mysql的root用戶(hù)密碼,root初始密碼為空的:
執(zhí)行命令:./bin/mysqladmin -u root -h localhost.localdomain password '密碼'
把mysql客戶(hù)端放到默認(rèn)路徑:
ln -s/usr/local/mysql/bin/mysql /usr/local/bin/mysql
注:
當(dāng)啟動(dòng)客戶(hù)端的時(shí)候,報(bào):
Can't connect tolocal MySQL server through socket '/tmp/mysql.sock' (2)
解決方法:
問(wèn)題,后來(lái)查看了一下咱們的,/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路徑下,這個(gè)時(shí)候,我們需要將如鏈接到mysql.sock到tmp/mysql.sock中就可以了。
注:其實(shí),這個(gè)問(wèn)題很明顯了,大家看Socket的參數(shù),在/var/lib/mysql/mysql.sock中,而tcp協(xié)議要找的地址為tmp/mysql.sock,所以,我們要不然醬上面的sockket=/tmp/mysql.sock。當(dāng)然我們都知道,其實(shí),我們只需要軟連接到tmp/mysql.sock中就可以了。
我們采用的方法:
另外我們解決windows系統(tǒng)連接不上linux系統(tǒng)的mysql的問(wèn)題:
這樣,我們其實(shí),我們所有對(duì)mysql的登陸,都是在mysql中的mysql庫(kù)中的user表中進(jìn)行登陸的,這個(gè)表中我們windows連接的時(shí)候,是這樣的'user@host'的,舉個(gè)簡(jiǎn)單的例子就是,如果我的電腦的ip為‘192.168.22.28',那么我發(fā)出的連接,就是這樣的'root@192.168.22.28',這樣,因此,我們?cè)谛薷牡臅r(shí)候,host為'%',代表了所有的連接客戶(hù)端,這個(gè)時(shí)候,我們只需要對(duì)這個(gè)的password進(jìn)行修改就可以了。
但是,我在我的Navicat中連接的時(shí)候,發(fā)現(xiàn)不能鏈接上,那么我就要查一下,看看是不是密碼不對(duì)呀,我們?cè)俅尾榭磚ser表:
我們可以看到,上面我們修改的密碼為localhost為‘123456'(這里都是用MD5加密的),但是我們用的是‘%',這個(gè)時(shí)候,發(fā)現(xiàn)兩個(gè)的密碼不同的,這個(gè)時(shí)候,我們需要查看一下密碼是什么,當(dāng)然,我猜了一下,應(yīng)該是root,因此,我把navicat的鏈接密碼為‘root',發(fā)現(xiàn)能鏈接上了。。。
大家還可能出現(xiàn)這樣的問(wèn)題:
就是這樣的telnet 連接mysql,出現(xiàn)亂碼加h_mysql_native_passowrd的問(wèn)題,這個(gè)時(shí)候,不要管它就可以了。沒(méi)有什么影響的。
結(jié)論:
我們?cè)谧鍪裁词虑榈臅r(shí)候,都需要去一邊思考一邊學(xué)習(xí),才能讓效率更快!