手動操作
1、先查看主機是否已安裝mysql(linux默認已安裝mysql)
查看命令: yum list mysql*
rpm -qa mysql*
2、刪除已安裝的mysql
刪除命令: yum remove mysql*
rpm -e mysql*
3、創建文件夾/usr/local/mysql,並進入
mkdir /usr/local/mysql
cd /usr/local/mysql
4、下載官網的mysql的yum源
使用wget ,在linux上下載(沒有wget的,使用 yum -y install wget安裝wget)
下載命令: wget https://repo.mysql.com//mysql80-community-release-el6-1.noarch.rpm
5、使用下載的yum源升級yum包
命令:rpm -Uvh mysql80-community-release-el6-1.noarch.rpm
6、 查看可以使用的mysql版本
使用命令: yum repolist all | grep mysql
7、將自己需要的版本改成enabled (通過修改 /etc/yum.repos.d/mysql-community.repo 來實現)
vi /etc/yum.repos.d/mysql-community.repo
找到需要的版本號,將 enabled=0 改成 enabled=1 ,將其他版本的 enabled=1 改成 enabled=0
這里只修改版本中的enabled,否則安裝會出錯 (只把8.0的改成enabled=0 ,5.7的改成enabled=1)
wq!
保存退出,再次執行yum repolist enabled | grep mysql可以看到修改的結果
8、安裝mysql-community-server
命令: yum -y install mysql-community-server
(遇到報錯如下:)
解決辦法:配置yum源,更新yum緩存
- 1)下載repo文件
- wget http://mirrors.aliyun.com/repo/Centos-7.repo
- 2)備份並替換系統的repo文件
- cp Centos-7.repo /etc/yum.repos.d/
- cd /etc/yum.repos.d/
- mv CentOS-Base.repo CentOS-Base.repo.bak
- mv Centos-7.repo CentOS-Base.repo (區分大小寫)
- 3)執行yum源更新命令
- yum clean all
- yum makecache
- yum update
- 配置完畢。
重新執行安裝命令: yum -y install mysql-community-server
執行過程未報錯,安裝成功
9、 mysql命令
啟動:service mysqld start
查看狀態: service mysqld status
關閉: service mysqld stop
進入mysql
musql -u root -p
剛安裝的mysql,密碼默認不為空,無法登陸
查看默認密碼:
#grep 'temporary password' /var/log/mysqld.log
用默認密碼登錄
修改默認密碼
提示“Your password does not satisfy the current policy requirements”,密碼強度不符合要求
我們可以降低它的密碼驗證強度從而可以設置任意密碼
登錄MySQL后
執行以下命令修改mysql全局參數配置
set global validate_password_policy=0; 設置密碼強度檢查等級
set global validate_password_length=3; 設置密碼最低強度
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=3;
執行成功了然后修改密碼沒有問題了
SET PASSWORD = PASSWORD('abc123');
不過,如果是為了安全起見,可以設置符合安全規則的密碼,這樣更好。
設置允許root賬戶進行遠程連接
- mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123@asdf' WITH GRANT OPTION;
- mysql> flush privileges;
第一句中”%”表示任何主機都可以遠程登錄到該服務器上訪問。如果要限制只有某台機器可以訪問,將其換成相應的IP即可,如:
GRANT ALL PRIVILEGES ON . TO root@”172.168.193.25” IDENTIFIED BY “123@asdf”;
123@asdf是登錄密碼。
第二句表示從mysql數據庫的grant表中重新加載權限數據。因為MySQL把權限都放在了cache中,所以在做完更改后需要重新加載。
檢測是否都是utf-8(filesystem除外),如果不是就得改,例如這個character_set_server
一般是拉丁編碼
修改編碼
- //停數據庫
- systemctl stop mysqld
- //進入 my.cnf 文件,一般是在etc路徑下
- vim /etc/my.cnf
- //加入要修改的字符集 修改完:wq退出
- 在[mysqld]下追加:
- character-set-server=utf8
- //重啟數據庫
- service mysqld start
文章來源
https://xiaojingjing.iteye.com/blog/2429403