Linux 安装 MySQL 8.0
- 下載
- 安裝數(shù)據(jù)庫(kù)
- 修改mysql配置文件(若沒(méi)有則新建)
- 安裝并初始化mysql
- 查看mysql密碼
- 配置啟動(dòng)
- 登錄MySQL
- 修改密碼
- 配置遠(yuǎn)程連接
- 配置防火墻
- 常見(jiàn)錯(cuò)誤
Windows 安裝 MySQL 8.0
下載
查看服務(wù)器 glibc 版本
[root@localhost ~]# getconf GNU_LIBC_VERSION
glibc 2.34
https://downloads.mysql.com/archives/community/
有些操作系統(tǒng)不支持 2.28 的 glibc 所以為了方便,我這邊還是使用的 glibc 2.12 版本
Compressed TAR Archive 包要小一些
安裝數(shù)據(jù)庫(kù)
[root@localhost tools]# tar -xvf mysql-8.0.34-linux-glibc2.12-x86_64.tar.xz
[root@localhost tools]# mv mysql-8.0.34-linux-glibc2.12-x86_64 /usr/local/mysql-8.0
[root@localhost tools]# cd /usr/local/mysql-8.0/
#創(chuàng)建數(shù)據(jù)目錄 data
[root@localhost mysql-8.0]# mkdir data
#增加用戶(hù)組 mysql
[root@localhost mysql-8.0]# groupadd mysql
#創(chuàng)建用戶(hù) mysql 并添加至用戶(hù)組 mysql
[root@localhost mysql-8.0]# useradd -g mysql mysql
#將安裝目錄 /usr/local/mysql-8.0/ 的所有者及所屬組改為 mysql:
[root@localhost mysql-8.0]# chown -R mysql:mysql /usr/local/mysql-8.0
修改mysql配置文件(若沒(méi)有則新建)
[root@localhost mysql-8.0]# vi /etc/my.cnf
輸入如下內(nèi)容:
[mysqld]
bind-address=0.0.0.0
basedir=/usr/local/mysql-8.0
datadir=/usr/local/mysql-8.0/data
port=3306
socket=/tmp/mysql.sock
character_set_server=utf8mb4
lower_case_table_names=1
log-error=/usr/local/mysql-8.0/data/mysql.log
pid-file=/usr/local/mysql-8.0/data/mysql.pid
explicit_defaults_for_timestamp=true
symbolic-links=0
[mysql]
default-character-set = utf8mb4
注意: MySQL 8.0 版本的忽略大小寫(xiě)配置 lower_case_table_names=1 一定要在執(zhí)行初始化前寫(xiě)在配置文件里
安裝并初始化mysql
#進(jìn)入mysql安裝目錄的bin目錄
[root@localhost mysql-8.0]# cd /usr/local/mysql-8.0/bin
#執(zhí)行如下命令、這個(gè)命令是:指定了默認(rèn)文件,MySQL的安裝目錄,數(shù)據(jù)存放位置,用戶(hù)是mysql
[root@localhost bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql-8.0/ --datadir=/usr/local/mysql-8.0/data --user=mysql --initialize
查看mysql密碼
[root@localhost bin]# cat /usr/local/mysql-8.0/data/mysql.log
2025-03-13T07:11:53.531686Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2025-03-13T07:11:53.531766Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0/bin/mysqld (mysqld 8.0.34) initializing of server in progress as process 1229837
2025-03-13T07:11:53.538334Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-03-13T07:11:53.990883Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-03-13T07:12:00.030423Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rP8jl4MslX.0
[root@localhost bin]#
配置啟動(dòng)
/etc/init.d 目錄通常用于存放啟動(dòng)腳本,這些腳本用于管理系統(tǒng)服務(wù)的啟動(dòng)、停止和重啟。
mysql.server放置到/etc/init.d/mysql中
# 添加mysqld服務(wù)到系統(tǒng)
[root@localhost bin]# cp -a /usr/local/mysql-8.0/support-files/mysql.server /etc/init.d/mysql
# 啟動(dòng) MySQL
[root@localhost bin]# service mysql start
Starting MySQL. SUCCESS!
[root@localhost bin]#
登錄MySQL
如果出現(xiàn) ./mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory 見(jiàn)文章最后的常見(jiàn)問(wèn)題
# 切換到 bin 目錄
[root@localhost bin]# cd /usr/local/mysql/bin
# 這邊直接把密碼復(fù)制到后面,不然單獨(dú)敲的話麻煩
[root@localhost bin]# mysql -u root -p rP8jl4MslX.0
# 輸入之前復(fù)制的密碼即可進(jìn)入
# rP8jl4MslX.0
修改密碼
# 修改密碼
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.00 sec)
# 執(zhí)行 使密碼生效
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>
配置遠(yuǎn)程連接
mysql> use mysql;
mysql> update user set host=’%’ where user = ‘root’;
mysql> flush privileges;
# 退出后重啟服務(wù)
mysql> exit
Bye
[root@localhost bin]# service mysql restart
配置防火墻
[root@localhost bin]# firewall-cmd --permanent --zone=public --add-port=3306/tcp
# –permanent : 表示使設(shè)置永久生效,不加的話機(jī)器重啟之后失效,
# –add-port=2181/tcp : 表示添加一個(gè)端口和協(xié)議的規(guī)則,
# --zone=public: 作用域(默認(rèn)為 public 可不加)
# 更新防火墻規(guī)則
[root@localhost bin]# firewall-cmd --reload
# 查看所有打開(kāi)的端口
[root@localhost bin]# firewall-cmd --list-port
常見(jiàn)錯(cuò)誤
[root@localhost bin]# ./mysql -uroot -p
./mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
[root@localhost bin]# find / -name libtinfo.so\* 2>/dev/null
/usr/lib64/libtinfo.so.6.3
/usr/lib64/libtinfo.so.6
[root@localhost bin]#
通過(guò)結(jié)果我們可以知道只有 6 的版本,解決方法有兩種:一、找一份 5 的版本放在 /usr/lib64 。二、利用軟連接使 5 指向 6。
ln -s /usr/lib64/libtinfo.so.6.3 /usr/lib64/libtinfo.so.5
總結(jié)
以上是生活随笔為你收集整理的Linux 安装 MySQL 8.0的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 营业执照可以办信用卡吗
- 下一篇: sql2005主从数据库同步配置