Centos7.4 安裝Mysql 8


第一部分 CentOS7安裝mysql

1.1 安裝前清理工作;

1.1.1 清理原有的mysql數據庫;

使用以下命令查找出安裝的mysql軟件包和依賴包:

rpm -pa | grep mysql

顯示結果如下:

1 mysql80-community-release-el7-1.noarch
2 mysql-community-server-8.0.11-1.el7.x86_64
3 mysql-community-common-8.0.11-1.el7.x86_64
4 mysql-community-libs-8.0.11-1.el7.x86_64
5 mysql-community-client-8.0.11-1.el7.x86_64

使用以下命令依次刪除上面的程序

yum remove mysql-xxx-xxx-

刪除mysql的配置文件,卸載不會自動刪除配置文件,首先使用如下命令查找出所用的配置文件;

find / -name mysql

可能的顯示結果如下:

1 /etc/logrotate.d/mysql
2 /etc/selinux/targeted/active/modules/100/mysql
3 /etc/selinux/targeted/tmp/modules/100/mysql
4 /var/lib/mysql
5 /var/lib/mysql/mysql
6 /usr/bin/mysql
7 /usr/lib64/mysql
8 /usr/local/mysql

根據需求使用以下命令 依次 對配置文件進行刪除

rm -rf /var/lib/mysql

  

1.2 安裝mysql

1.2.1 下面mysql官網提供的mysql repo源

centos的yum 源中默認是沒有mysql的,所以我們需要先去官網下載mysql的repo源並安裝;

mysql官網下載鏈接:mysql repo下載地址 如下:

1.2.2 使用putty的pscp將文件上傳到CentOS

使用putty將F:盤下剛下好的mysql repo文件上傳到Centos/usr/local/mysql文件夾下;

D:\Putty>pscp F:\mysql80-community-release-el7-1.noarch.rpm root@192.168.145.136:/usr/local/mysql/

1.2.3 安裝 yum repo文件並更新 yum 緩存;

rpm -ivh mysql57-community-release-el7-11.noarch.rpm

執行結果:

會在/etc/yum.repos.d/目錄下生成兩個repo文件mysql-community.repo mysql-community-source.repo

更新 yum 命令

1 yum clean all
2 yum makecache

1.2.4 使用 yum安裝mysql

當我們在使用yum安裝mysql時,yum默認會從yum倉庫中安裝mysql最新的GA版本;如何選擇自己的版本;

第一步: 查看mysql yum倉庫中mysql版本,使用如下命令

yum repolist all | grep mysql

1.2.5 安裝mysql 命令如下:

yum install mysql-community-server

1.2.6 開啟mysql 服務

systemctl start mysqld.service

1.2.7 獲取初始密碼登錄mysql

mysql在安裝后會創建一個root@locahost賬戶,並且把初始的密碼放到了/var/log/mysqld.log文件中;

cat /var/log/mysqld.log | grep password

使用初始密碼登錄mysql

mysql -u root -p 

修改初始密碼:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'passowrd';

另外一種密碼加密模式(為了適應sqlyog 或者 navicat 登錄 , 因為這些軟件目前還沒mysql最新版的密碼加密方式,登錄用的還是老模式):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 

設置Mysql可以遠程訪問

use mysql;
select host,user,authentication_string,plugin from user;
update user set host='%' where user='root';

  

如果要讓數據庫表不區分大小寫,使用

vim /etc/my.cnf

在my.cnf文件末尾加入 lower_case_table_names=1 即可.

注意,如果數據庫之前已經有數據了,即已經創建了數據庫和表,那么需要把這些數據全部清空掉.否則會造成數據庫無法啟動.
如果查看日志一直出現 Different lower_case_table_names settings for server ('1') and data dictionary ('0')
刪除 MySQL的數據 rm -rf /var/lib/mysql
然后在初始化的時候加入選項:
[root@myname ]# /usr/sbin/mysqld --initialize --user=mysql --lower-case-table-names=1 

2. GROUP BY clause and contains nonaggregated column 'xxxxxxxxxxx' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

這是因為SELECT @@global.sql_mode;為only_full_gro up_by,解決方法是在編輯: cat /etc/my.cnf ,加入一行:

sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

然后重起:systemctl restart mysqld.serivice

1.2.8 將mysql 服務加入開機啟動項,並啟動mysql進程

systemctl enable mysqld.service
systemctl start mysqld.service

常用mysql服務命令:

登錄mysql
mysql -u username -p
 
退出mysql 
quit
 
啟動mysql
systemctl start mysqld.service
 
結束
systemctl stop mysqld.service
 
重啟
systemctl restart mysqld.service
 
開機自啟
systemctl enable mysqld.service
 
查看mysql版本
select version();

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM