回城傳送–》《100天精通MYSQL從入門到就業(yè)》
這里使用的mysql版本是8.0.30 ,操作系統(tǒng)是win11 64位。
下載地址:傳送門–》
第一步:雙擊安裝包
第二步:
選擇server only
第三步:
點(diǎn)擊execute
第四步:
點(diǎn)擊execute
第五步:
直接下一步,next
第六步:
mysql 的默認(rèn)端口是3306,有需求的話,可自定義,然后next
點(diǎn)擊finish
使用navicat客戶端連接
這里使用的mysql 版本是8.0.30,操作系統(tǒng)是CentOS8 64位。
先查看防火墻狀態(tài)
systemctl status firewalld
systemctl stop firewalld.service
開機(jī)不要自啟動:
systemctl disable firewalld.service
編輯文件:/etc/selinux/config
SELINUX=disabled
經(jīng)驗(yàn)之談(那些年含淚填的坑)
SELinux開啟可能導(dǎo)致mysql服務(wù)啟動不了,遇到報錯:
提示"mysql deamon failed to start"錯誤信息
檢查了數(shù)據(jù)目錄和日志目錄的權(quán)限和所屬用戶,權(quán)限和所屬用戶都沒問題,最后定位到是SELINUX的權(quán)限限制了,把它關(guān)了,就正常了!
創(chuàng)建mysql 的HOME 目錄
mkdir -p /home/mysql
groupadd mysql
創(chuàng)建mysql 用戶,并指定組和默認(rèn)路徑
useradd -r -d /home/mysql -g mysql mysql
將mysql默認(rèn)路徑的用戶和組改成mysql
chown -R mysql:mysql /home/mysql
下載地址:傳送門–》
如圖選擇,然后下載到本地
然后把文件從本地復(fù)制至 /usr/local 目錄下:
tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql
chown -R mysql:mysql /usr/local/mysql
為MYSQL 配置環(huán)境,修改文件:
vi /etc/profile
最后加上這一行,保存文件:
export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile
創(chuàng)建數(shù)據(jù)目錄:
mkdir /usr/local/mysql/data
將數(shù)據(jù)目錄用戶和組調(diào)整為mysql:
chown -R mysql:mysql /usr/local/mysql/data
更改數(shù)據(jù)目錄權(quán)限:
chmod 750 /usr/local/mysql/data
新建配置文件 /etc/my.cnf 并添加以下內(nèi)容:
[mysqld]
server-id=1
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/data/error.log
socket=/tmp/mysql.sock
pid-file=/usr/local/mysql/data/mysql.pid
character-set-server=utf8
lower_case_table_names=1
innodb_log_file_size=1G
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
[client]
port=3306
default-character-set=utf8
mysqld --initialize --user mysql
報錯:
mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
執(zhí)行這行命令報錯了,原因是:新的服務(wù)器環(huán)境,上面很多依賴都沒有,所以安裝軟件的時候遇到一大堆小問題,解決它很簡單,它缺少啥就安裝啥。
解決方案:
yum install -y libaio.so.1
又報錯了:
Errors during downloading metadata for repository 'epel':
Status code: 404 for http://archives.fedoraproject.org/pub/archive/epel/8/Everything/x86_64/repodata/repomd.xml (IP: **)
Error: Failed to download metadata for repo 'epel': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
原因是:第三方的鏡像站中均已移除CentOS 8的源,Centos 8版本已停止更新相應(yīng)依賴導(dǎo)致的,下載新的yum源即可搞定。
解決方案:
備份之前的repo文件,命令:
mv /etc/yum.repos.d /etc/yum.repos.d.bak
創(chuàng)建源文件目錄,命令:
mkdir -p /etc/yum.repos.d
下載新的yum源
curl https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo > /etc/yum.repos.d/Centos-vault-8.5.2111.repo
curl https://mirrors.aliyun.com/repo/epel-archive-8.repo > /etc/yum.repos.d/epel-archive-8.repo
如圖所示操作:
再下載依賴:
yum install -y libaio.so.1
再安裝
yum install -y libaio
提示成功后,初始化數(shù)據(jù)庫:
mysqld --initialize --user mysql
cat /usr/local/mysql/data/error.log
2022-09-24T10:01:13.679765Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-09-24T10:01:22.585131Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
root用戶的臨時密碼如圖所示:7Xn5+后面打碼的字符串
進(jìn)入mysql目錄:
cd /usr/local/mysql
啟動數(shù)據(jù)庫
support-files/mysql.server start
如圖所示,啟動成功!
support-files/mysql.server status
復(fù)制mysql.server 文件到/etc/init.d目錄下
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
使用chkconfig 添加mysql服務(wù)到開機(jī)啟動列表里
chkconfig --add mysqld
可使用systemctl 命令了,查看mysql數(shù)據(jù)庫狀態(tài):
systemctl status mysqld
systemctl start mysqld
systemctl stop mysqld
進(jìn)入mysql:
mysql -uroot -p
輸入臨時密碼:
如果忘記了臨時密碼,從這邊查找:
cat /usr/local/mysql/data/error.log
先修改臨時密碼:
alter user 'root'@'localhost' identified by 'xiaoxuzhu';
查看mysql服務(wù)狀態(tài):
support-files/mysql.server status
如果已關(guān)閉,請開啟 再往下執(zhí)行。
關(guān)閉mysql服務(wù):
mysqladmin -uroot -pxiaoxuzhu shutdown
進(jìn)入mysql里,然后執(zhí)行shutdown命令:
mysql -uroot -pxiaoxuzhu
shutdown;
quit;
新創(chuàng)建一個root用戶針對外網(wǎng)訪問的:
create user 'root'@'%' identified by 'xiaoxuzhu';
授予所有權(quán)限給root用戶
grant all on *.* to 'root'@'%';
刷新權(quán)限,不需要重啟就讓權(quán)限生效。
flush privileges;
虛竹哥用的是云服務(wù)器,所以還要開啟云服務(wù)器的安全組,讓指定的3306 端口通過。
如果云服務(wù)器有設(shè)置防火墻,防火墻要開啟3306端口;
使用navicat客戶端連接
《mysql 數(shù)據(jù)庫進(jìn)階實(shí)戰(zhàn)》:第1章 1.2安裝mysql數(shù)據(jù)庫(linux環(huán)境)
報錯解決方案:mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such
報錯解決方案:Failed to download metadata for repo 'epel’: Cannot download repomd.xml: Cannot download …Status code: 404
我是虛竹哥,我們明天見~
聯(lián)系客服