1.安裝條件:
官網(wǎng)下載源碼包 ("https://dev.mysql.com/downloads/mysql/")
2.下載完成后將mysql-boost-5.7.19.tar.gz上傳到虛擬機(jī)上(vmtools或者ftp等)然后進(jìn)行編譯安裝
# tar zxvf mysql-boost-5.7.19.tar.gz?
這邊編譯使用cmake工具 (其功能類似./configure 生成makefile文件)
#yum install cmake -y
#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_DATADIR=/var/lib/mysql/data -DWITH_BOOST=boost
編譯mysql會遇到一些問題 可以通過yum解決 ??
我白機(jī)安裝后遇到的問題如下:
1)查剖、無法找到GIT
#yum install git -y
2)The CXX compiler identification is unknown
#yum install gcc gcc-c++ -y
3)Curses library not found
#yum install ncurses ncurses-devel -y
(這個編譯時間很長 雙核編譯了40+分鐘 還會有失敗的情況)
編譯完成之后執(zhí)行
#make && make install
即可完成安裝(默認(rèn)的配置文件在/etc/my.cnf)
3.創(chuàng)建mysql用戶
#useradd mysql -M -s /sbin/nologin
(-M代表不生成 Home目錄,-s 坛增,代表不允許登錄虐译。)
4.將腳本文件拷貝到init.d目錄下 方便以服務(wù)方式啟動
#cp /usr/local/mysql/support-files/mysql.server? ? /etc/init.d/mysqld
#vim /etc/init.d/mysqld? =>加上一句chkconfig mysqld on(這樣就能以service的方式啟動了)
5.修改配置文件
分別是錯誤日志目錄 數(shù)據(jù)存放目錄 socket文件目錄 pid目錄?
#chown -R mysql:mysql /var/lib/mysql(說明這個mysql文件夾,需要讓mysql用戶有權(quán)限訪問)
6.初始化mysql
#cd /usr/local/mysql/bin(mysql安裝目錄)
#./mysqld --initialize --user=mysql --basedir=/var/lib/mysql --datadir=/var/lib/mysql/data
初始化完后會出現(xiàn)一組隨機(jī)密碼給root用戶 ?
#vi /var/lib/mysql/mysql-error.log
記下這個密碼 方便登陸?
7.啟動mysql服務(wù)
#service mysqld start
8.使用客戶端連接mysql
安裝完成之后bin目錄下有個mysql可執(zhí)行程序就是客戶端執(zhí)行程序了
這邊可以通過cd bin 然后./mysql -u root -p來啟動客戶端(麻煩)
推薦建立軟連接或者加到環(huán)境變量中
1)建立軟連接 :
ln /usr/local/mysql/bin/mysql 你喜歡的目錄/名字
然后就可以在你的位置./名字 -u root -p
2)加入環(huán)境變量中:
#vim /etc/profile
隨便找個位置加入
export PATH=/usr/local/mysql/bin:$PATH
或者export MYSQL_PATH=/usr/local/mysql/bin
export PATH=$MYSQL_PATH:$PATH
wq保存之后執(zhí)行source /etc/profile使環(huán)境變量生效
然后就可以在任意位置mysql -u root -p了
執(zhí)行 mysql -u root -p 之后輸入錯誤日志給我們的隨機(jī)密碼會出現(xiàn)一個錯誤Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解決方案:
1)修改配置文件
#vim /etc/my.cnf
加入[mysql] (這個代表客戶端配置)? (推薦)
[mysql]
socket=/var/lib/mysql/mysql.sock
2).使用tcp方式連接 ?
#mysql -u root --protocol=tcp -p
9.重置root賬號密碼
登陸root之后
mysql>ALTER USER USER() IDENTIFIED BY '123';
10.使用本地可視化工具連接虛擬機(jī)mysql服務(wù)
grant all privileges on 表名 to 用戶名@'IP地址' identified by ‘密碼’;?
或grant all on 表名 to 用戶名@'IP地址' identified by ‘密碼’
如果要所有,表以及所有IP均可
grant all on *.* to localuser@'%' identified by '123'
flush privileges; 刷新權(quán)限
連接成功!
如果連接失敗檢查防火墻
或者直接
#iptables -I INPUT -p tcp --dport 3306 -j ?ACCEPT
#iptables-save