在centos7上安裝mysql非常簡單。
首先下載Yum源的rpm包
具體地址在:
可以選擇自己需要的版本。
我下載的是:
wget http://repo.mysql.com/mysql57-community-release-el7.rpm
1、安裝rpm文件
通過命令,安裝MySQL的YUM源:
rpm -ivh mysql57-community-release-el7.rpm
可以在/etc/yum.repos.d中看到相關的repo文件:
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo mysql-community-source.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo mysql-community.repo OpenLogic.repo
[root@localhost yum.repos.d]#
1、YUM安裝MySQL
通過yum命令安裝:
yum install -y mysql-server
等待安裝完成
啓動:
Systemctl start mysqld
查看:
Systemctl status mysqld
設置開機啓動:
Systemctl enable mysqld
當你安裝完以後,啓動服務時你有可能會遇到一些問題:
1、啓動報錯
- <span style="font-family:SimSun;font-size:14px;">Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
- [FAILED]</span>
報這個錯,網上很多解決方案都說要這啊那的。但很多都沒有卵用。其實這個問題很多情況下沒有那麼複雜,就是文件夾權限的問題。(當然這裏不保證全部都是。反正我是這樣解決的)
首先查找你安裝的mysql位置
[root@localhost ~]# which mysql
/usr/bin/mysql
然後賦予權限就可以
/usr/bin/mysql r
/usr/bin/mysql/** rwk
或者直接給777權限:
chmod -R 777 /usr/bin/mysql
重啓: sudo service apparmor restart
然後就可以正常啓動mysql服務了。
2、登錄不了root用戶
- [root@localhost opt]# /usr/bin/mysql -u root
- ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
網上的幾種解決方案,然而並沒有什麼卵用
- 方案一:
- mysqladmin -u root password 123456,結果提示錯誤:error: 'Access denied for user 'root'@'localhost' (using password: NO)'
- 方案二:
- 用mysqld_safe skip-grant-tables進入mysql,然後sql語句修改root密碼,還是提示錯誤:-bash: mysqld_safe: command not found
解決:
1、現在mysql安裝一般都會給root隨機初始化一個密碼,所以我們要先找到這個密碼:
- [root@localhost opt]# cat /var/log/mysqld.log | grep password
- 2016-07-16T05:01:47.771362Z 1 [Note] A temporary password is generated for root@localhost: q.)ti!Yage6y-
- 2016-07-16T05:02:32.000199Z 2 [Note] Access denied for user 'root'@'localhost' (using password: NO)
- 2016-07-16T05:02:39.063852Z 3 [Note] Access denied for user 'root'@'localhost' (using password: NO)
看到沒,密碼就是: q.)ti!Yage6y-
2、重新連接mysql:
- [root@zzs171 opt]# /usr/bin/mysql -u root -p
- Enter password:
輸入上面的密碼就能進入root用戶了。但是這個密碼好複雜,自己修改一下
3、修改登錄密碼
- SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Mysqlpassw0rd.');
注意密碼不要太簡單,否則會報錯。因爲mysql有檢測密碼強度
- mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123');
- ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
4、如果遠程登錄報錯Host isnot allowed to connect to this mysql server
在裝有MySQL的機器上登錄MySQL mysql -u root -p密碼
執行use mysql;
執行update user set host = '%' where user ='root';這一句執行完可能會報錯,不用管它。
執行FLUSH PRIVILEGES;
經過上面4步,就可以解決這個問題了。