- 所有的事情在你擁有了一臺(tái)阿里云服務(wù)器之后歪沃,準(zhǔn)備安裝mysql的時(shí)候,去官網(wǎng)下載了最新的mysql的linux通用版本嗅钻,結(jié)果死活安裝不成功
- 在折騰了好久感覺姿勢(shì)不對(duì)扭勉,就安裝個(gè)5.7.11的算了鹊奖,終于終于OK了
** 建議看一遍在動(dòng)手
** linux新手,如有錯(cuò)誤歡迎指出
環(huán)境信息 阿里云服務(wù)器 Linux系統(tǒng) mysql 5.7.11
使用ssh root@"公網(wǎng)IP" 輸入密碼登陸服務(wù)器
此時(shí)在linux下root目錄下涂炎,也就是 cd ~
使用wget http://dev.MySQL.com/get/Downloads/MySQL-5.7/mysql-5.7.11-Linux-glibc2.5-x86_64.tar.gz下載
wget 后面可以加 -c 使用斷點(diǎn)了下載
wget -c http://dev.MySQL.com/get/Downloads/MySQL-5.7/mysql-5.7.11-Linux-glibc2.5-x86_64.tar.gz解壓 tar -xvf mysql-5.7.11-Linux-glibc2.5-x86_64.tar.gz
創(chuàng)建對(duì)應(yīng)存儲(chǔ)目錄
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data復(fù)制
mv mysql-5.7.11-linux-glibc2.5-x86_64/* /usr/local/mysql/創(chuàng)建用戶組以及用戶并關(guān)聯(lián)
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql.mysql /usr/local/mysql/接下來(lái) cd /usr/local/mysql ,進(jìn)入mysql的安裝目錄
初始化數(shù)據(jù) ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
復(fù)制配置文件
cp -a ./support-files/my-default.cnf /etc/my.cnf (輸入y,回車) (備注@1)
mysql的服務(wù)腳本放到系統(tǒng)服務(wù)中
cp -a ./support-files/mysql.server /etc/init.d/mysqld接下來(lái)進(jìn)入bin目錄 cd bin
./mysqld_safe --user=mysql &
此時(shí)服務(wù)會(huì)被掛起忠聚,按下回車退出即可焰盗,輸出如下
[1] 8475
[root@localhost bin]# Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
2017-12-18T07:47:16.901751Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data重啟mysql 命令 /etc/init.d/mysqld restart
可以看到shut down ok
start ok的相關(guān)輸出(和這個(gè)不一樣,基本意思英語(yǔ)應(yīng)該可以看懂)-
初始化密碼
cat /root/.mysql_secret (輸出的就是root用戶初始密碼)
./mysql -uroot -p
輸入剛才的密碼進(jìn)入了mysql
屏幕快照 2018-11-06 下午1.14.29.png
出現(xiàn)這樣的mysql可以輸入的情況咒林,你的mysql就基本OK了
此時(shí)只能本地登陸熬拒,接下來(lái)進(jìn)行最后的配置
// 備注,這一步是說(shuō)明垫竞,創(chuàng)建快捷方式什么時(shí)候執(zhí)行都可以澎粟,順這執(zhí)行下去也沒(méi)問(wèn)題
這里沒(méi)有使用軟鏈,不然每次都要
cd /usr/local/mysql/bin
然后 ./mysql -uroot -p 輸密碼進(jìn)入
執(zhí)行數(shù)據(jù)庫(kù)的登陸操作欢瞪,很麻煩相當(dāng)于創(chuàng)建快捷方式
ln -s /usr/local/mysql/bin/mysql /usr/bin
之后就可以在任何目錄使用 mysql -u root -p 輸入密碼登陸數(shù)據(jù)庫(kù)了mysql> SET PASSWORD = PASSWORD('123456');
設(shè)置你的root用戶的登陸密碼活烙,這里是123456,你可以隨便更改遣鼓,結(jié)尾的;不要忘記了
結(jié)尾的;不要忘記了
結(jié)尾的;不要忘記了
結(jié)尾的;不要忘記了mysql> flush privileges; (刷新權(quán)限表)
mysql>use mysql; (進(jìn)入mysql這個(gè)數(shù)據(jù)庫(kù))
mysql> select host, user from user; (這里可以查看有多少用戶)
一般而言除了修改root用戶的密碼啸盏,其他的都不會(huì)修改
也不要嘗試mysql> update user set host = '%' where user = 'root';
上面那條命令的意思的允許遠(yuǎn)程登陸數(shù)據(jù)庫(kù),但是不允許本地登陸骑祟,有多無(wú)語(yǔ)回懦,你可以試試,讓在重新初始化磁盤再來(lái)一次了
接下來(lái)可以為數(shù)據(jù)庫(kù)添加其他用戶次企,進(jìn)行管理
mysql>CREATE USER 'aaa'@'%' IDENTIFIED BY '123456';
表示創(chuàng)建新的用戶怯晕,名為aaa,新用戶密碼為123456,用戶缸棵,密碼隨自己更改一般數(shù)據(jù)庫(kù)都會(huì)要求可以遠(yuǎn)程連接舟茶,mysql處于安全默認(rèn)不允許遠(yuǎn)程連接,需要收到賦予相應(yīng)用戶權(quán)限
登陸數(shù)據(jù)庫(kù)
mysql> use mysql;
GRANT ALL PRIVILEGES ON . TO '用戶名'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION;
替換掉你設(shè)置的用戶名和密碼即可堵第,最好不要多mysql的root用戶使用吧凉,執(zhí)行完刷新權(quán)限
mysql> flush privileges;
mysql> exit;
退出數(shù)據(jù)庫(kù),一切OK踏志,基于當(dāng)前安裝目錄的一些mysql命令
/etc/init.d/mysqld stop 停止mysql
/etc/init.d/mysqld restart 重啟mysql
// 安裝過(guò)程中要主要當(dāng)前目錄阀捅,出現(xiàn)no such 之類的找不到文件的英文提示,要查看下目錄是否和上述一致狰贯,
備注@1也搓,如果提示找不到文件,可以直接
vi /etc.my.cny
按 i涵紊,進(jìn)去編輯狀態(tài)
復(fù)制傍妒,粘貼即可
esc + :wq + enter 保存退出
- 配置文件內(nèi)容如下
For advice on how to change settings please see
http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
*** DO NOT EDIT THIS FILE. It's a template which will be copied to the
*** default location during install, and will be replaced if you
*** upgrade to a newer version of MySQL.
[mysqld]
Remove leading # and set to the amount of RAM for the most important data
cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
Remove leading # to turn on a very important data integrity option: logging
changes to the binary log between backups.
log_bin
These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = .....
server_id = .....
socket = .....
Remove leading # to set options mainly useful for reporting servers.
The server defaults are faster for transactions and fast SELECTs.
Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES