阿里云linux上安装与配置Mysql
記錄下在阿里云linux上安裝與配置Mysql
環(huán)境:阿里云ECS服務(wù)器,系統(tǒng)為centos7.2
用戶:root
文章目錄
- 刪除原來的數(shù)據(jù)庫:
- 下載與安裝MySQL:
- 關(guān)于登錄MySQL:
- 配置遠(yuǎn)程登錄:
刪除原來的數(shù)據(jù)庫:
centos7中默認(rèn)安裝了數(shù)據(jù)庫MariaDB,如果直接安裝MySQL的話,會直接覆蓋掉這個數(shù)據(jù)庫,當(dāng)然也可以手動刪除一下:
[root@localhost ~]# rpm -qa|grep mariadb // 查詢出來已安裝的mariadb [root@localhost ~]# rpm -e --nodeps 文件名 // 卸載mariadb,文件名為上述命令查詢出來的文件然后現(xiàn)在開始將當(dāng)前目錄切換到root也就是: cd ~
下載與安裝MySQL:
這里采用Yum管理好了各種rpm包的依賴,能夠從指定的服務(wù)器自動下載RPM包并且安裝,所以在安裝完成后必須要卸掉,否則會自動更新。
1.安裝MySQL官方的yum repository
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm2.下載rpm包
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm3.安裝MySQL服務(wù)
[root@localhost ~]# yum -y install mysql-community-server 最后會出現(xiàn)個complete!4.啟動MySQL服務(wù)
[root@localhost ~]# systemctl start mysqld.service 看到類似下面的界面,或者以Starting MySqL server.. started MysqlServer..結(jié)尾的就成功啟動了還有幾個關(guān)于MySQL常用的命令:
重啟:systemctl restart mysqld.service停止:systemctl stop mysqld.service查看狀態(tài):systemctl status mysqld.service還可以配置MySQL的開機(jī)啟動:
[root@woitumi-128 ~]# systemctl enable mysqld[root@woitumi-128 ~]# systemctl daemon-reload 剛剛配置的服務(wù)需要讓systemctl能識別,就必須刷新配置關(guān)于登錄MySQL:
登錄命令:
[root@localhost ~]# mysql -u root -p 意思就是用root用戶登錄,然后準(zhǔn)備輸入密碼。第一次啟動MySQL后,就會有臨時密碼,這個默認(rèn)的初始密碼在/var/log/mysqld.log文件中,我們可以用這個命令來查看:grep "password" /var/log/mysqld.log可是不知道是我輸錯密碼還是不能復(fù)制粘貼,一直顯示錯誤:(好吧后面看看這個代碼應(yīng)該是 mysql -u root -p才對,可能這樣輸入命令就不會有錯吧……)
然后我們還可以先跳過密碼驗證登錄進(jìn)MySQL:
停止服務(wù):systemctl stop mysqld.service 修改mMySQL的配置文件:vi /etc/my.cnf 在最后加上配置:skip-grant-tables 然后再啟動服務(wù):systemctl start mysqld.service然后這時就可以跳過密碼來登錄mysql:
mysql -u root然后是修改下密碼:(就看別人的例子是這樣的)
mysql> use mysql; Database changed mysql> update mysql.user set authentication_string=password('4008') where user='root' ; Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1然后exit退出mysql,重新在剛剛那個配置文件中去掉skip-grant-tables,然后重啟MySQL。
然后就可以用新密碼登錄了:
sql報錯
但這個時候,我試了一下一個簡單的sql語句:
what???我不是剛剛才設(shè)完密碼嗎??
然后百度了下。說這個情況還要加個這樣的改密碼的語句:
SET PASSWORD = PASSWORD('密碼'); 但這個命令又出現(xiàn)了這樣的問題:額百度后知道原來是密碼等級太簡單,如果你堅持要這樣的密碼,要改變密碼等級:
登錄數(shù)據(jù)庫后,輸入mysql> set global validate_password_policy=0; //改變密碼等級mysql> set global validate_password_length=4; //改變密碼最小長度 然后再輸入剛剛的命令:SET PASSWORD = PASSWORD('密碼'); 然后再用 show databases;就沒有報錯了配置遠(yuǎn)程登錄:
MySQL默認(rèn)root用戶只能本地登錄,如果要遠(yuǎn)程連接,要簡單設(shè)置下,這里直接用root來遠(yuǎn)程登錄不添加其他角色。
使用命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '4008' WITH GRANT OPTION; .*.的意思是所有庫的所有表;To后面跟的是用戶名;@后面跟的是ip地址,%代表所有ip地址,identified by后面的是密碼。然后再:mysql> flush privileges;注意:
需要注意mysql的配置文件中的bindaddress 的參數(shù)和skip-networking 配置
bindaddress : 設(shè)定哪些ip地址被配置,使得mysql服務(wù)器只回應(yīng)哪些ip地址的請求),最好注釋掉該參數(shù)或設(shè)置成為127.0.0.1以外的值
skip-networking : 如果設(shè)置了該參數(shù)項,將導(dǎo)致所有TCP/IP端口沒有被監(jiān)聽,也就是說出了本機(jī),其他客戶端都無法用網(wǎng)絡(luò)連接到本mysql服務(wù)器,所以應(yīng)該注釋掉該參數(shù)
添加3306端口:命令:firewall-cmd --zone=public --add-port=3306/tcp --permanent;結(jié)果說沒有運(yùn)行防火墻:
那就先開防火墻咯:
systemctl status firewalld 查看防火墻狀態(tài)systemctl start firewalld 打開防火墻然后再輸入那個開放3306端口的命令就行了
firewall-cmd --zone=public --add-port=3306/tcp --permanent;firewall-cmd --reload 重啟防火墻最后的收尾:
1.我們剛開始說要寫在yum的repository,用這個命令就行:
yum -y remove mysql57-community-release-el7-10.noarch2.MySQL設(shè)一下utf8:
打開/etc/my.cnf也就是數(shù)據(jù)庫的配置文件,然后在底部復(fù)制粘貼:
[mysqld] character_set_server=utf8 init_connect='SET NAMES utf8'采用navicat新建數(shù)據(jù)庫時,需要將編碼方式設(shè)置為,字符集:utf8 – UTF-8 Unicode ,排序規(guī)則:utf8_general_ci
3.阿里云的服務(wù)器中的安全組加入mysql連接的規(guī)則。這個很重要不然遠(yuǎn)程無法連接上。
4.配置文件的說明:
/etc/my.cnf 這是mysql的主配置文件/var/lib/mysql mysql數(shù)據(jù)庫的數(shù)據(jù)庫文件存放位置/var/log mysql數(shù)據(jù)庫的日志輸出存放位置總結(jié)
以上是生活随笔為你收集整理的阿里云linux上安装与配置Mysql的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Huffman算法和LZ77算法的文
- 下一篇: linux cmake编译源码,linu