一、查看mariadb的相關包並卸
1.使用 rpm -qa | grep mariadb 命令查看;
顯示為:mariadb-libs-5.5.56-2.el7.x86_64
2.使用 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 命令卸載;
二、安裝mysql數據庫
1.下載安裝文件
下載地址:https://downloads.mysql.com/archives/community/
后綴件為:mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz,其他8.0版本也可,更具需要選擇,並將該文件移動到 /usr/local/目錄下。
2.解壓縮包,命令,分兩步:
第一步,使用xz -d 命令將xxx.tar.xz壓縮包解壓成xxx.tar,如下:
xz –d mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
第二步,使用tar -vxf命令將xxx.tar壓縮包解壓,如下:
tar -xvf mysql-8.0.16-linux-glibc2.12-x86_64.tar
3.給包重命名為mysql
mv mysql-8.0.16-linux-glibc2.12-x86_64 /usr/local/mysql
4.檢查mysql組和用戶是否存在,如無創建
創建mysql用戶組
groupadd mysql
useradd -g mysql mysql
5.進入mysql目錄並創建data目錄;
cd /usr/local/mysql
mkdir data
[root@localhost /]# cd /usr/local/
[root@localhost local]# mkdir data
6.賦權限給相關目錄
[root@localhost local]# chmod -R 777 /usr/local/mysql
[root@localhost local]# chmod -R 777 /usr/local/mysql/data/
7.將mysql目錄的權限授給mysql用戶和mysql組;
[root@localhost local]# chown -R mysql:mysql /usr/local/mysql
8.新建mysql配置文件 my.cnf
[root@localhost local]# vi /etc/my.cnf
配置文件內容如下:
[mysqld] # 設置3306端口 port=3306 # 設置mysql的安裝目錄 basedir=/usr/local/mysql # 設置mysql數據庫的數據的存放目錄 datadir=/usr/local/mysql/data # 允許最大連接數 max_connections=10000 # 允許連接失敗的次數。這是為了防止有人從該主機試圖攻擊數據庫系統 max_connect_errors=10 # 服務端使用的字符集默認為UTF8 character-set-server=utf8 # 創建新表時將使用的默認存儲引擎 default-storage-engine=INNODB # 默認使用“mysql_native_password”插件認證 default_authentication_plugin=mysql_native_password #sql_model 去掉ONLY_FULL_GROUP_BY sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION [mysql] # 設置mysql客戶端默認字符集 default-character-set=utf8 [client] # 設置mysql客戶端連接服務端時默認使用的端口 port=3306 default-character-set=utf8
配置好文件,附文件權限:
chmod -R 777 /etc/my.cnf #特別注意,這個是所有用戶都可讀寫,由於mysql的安全機制,這種權限可能會被忽視掉,導致配置文件my.cnf不生效
chmod 644 /etc/my.cnf #建議用這個,用戶可讀寫,其他用戶不可寫.
[root@localhost local]# chmod 644 /etc/my.cnf
9.進入mysql 安裝目錄下:
[root@localhost local]# cd/usr/local/mysql/bin/
安裝MySQL,並記住隨機生成的密碼,每次生成都不一樣:
[root@localhost bin]# ./mysqld --initialize --console
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
出現該問題首先檢查該鏈接庫文件有沒有安裝使用 命令進行核查
rpm -qa|grep libaio
運行該命令后發現系統中無該鏈接庫文件
使用命令,yum install libaio-devel.x86_64
安裝成功后,繼續運行數據庫的初始化命令,提示成功
10.啟動mysql
[root@localhost bin]# cd /usr/local/mysql/support-files/
[root@localhost support-files]# ./mysql.server start
可能會出現下面的錯誤:
解決辦法是查看錯誤文件:
[root@localhost support-files]# cd /usr/local/mysql/data
我這里是忘記給文件賦權限,所以執行下:chmod -R 777 /usr/local/mysql/data/
就OK了,其他情況也有可能發生,根據具體情況查看
11.配置環境變量
[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld
[root@localhost support-files]# service mysqld restart
12.創建軟連接(實現可直接命令行執行mysql)
ln -s /usr/local/mysql/bin/mysql /usr/bin
[root@localhost support-files]# ln -s /usr/local/mysql/bin/mysql /usr/bin
13.登錄mysql修改默認密碼,創建遠程登錄
[root@localhost mysql]# mysql -uroot -p
修改密碼:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
修改成遠程登錄用戶:update user set host='%' where user = 'root';
授權:grant all privileges on *.* to 'root'@'%';
刷新權限:flush privileges;
使用native校驗登錄(可以使用Navicat for mysql等工具登錄):ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
14.防火牆的設置
查看防火牆狀態
firewall-cmd --state
如果沒有開啟,則開啟
開啟防火牆: systemctl start firewalld.service
查看監聽的端口: firewall-cmd --list-port
添加3306端口監聽
firewall-cmd --zone=public --add-port=3306/tcp --permanent
刷新防火牆設置
firewall-cmd --reload
至此,完成安裝。
15.加入開機啟動
chkconfig --add mysqld
chkconfig mysqld on
文檔整理不易,還請點個贊!!!