Linux之安裝MySQL 8.0數據庫


1. MySQL官網下載安裝包

1.1通過wget指令下載Mysql 8.0安裝包

 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

2. 安裝數據庫前的准備工作

2.1 卸載原有數據庫

rpm -qa | grep mariadb

 rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

2.2 安裝數據庫所需依賴

yum install libaio

3. 創建MySQL安裝目錄和數據存放目錄,並授權

mkdir /usr/local/mysql
mkdir /usr/local/mysql/mysqldb
chmod -R 777 /usr/local/mysql
chmod -R 777 /usr/local/mysql/mysqldb/

4. 新建MySQL用戶組和用戶並把mysql文件夾授權給該組和用戶

useradd mysql
passwd mysql

這里我使用的密碼為12345678

chown -R mysql:mysql /usr/local/mysql

5. 移動並解壓MySQL安裝包

將下載好的安裝包移動到/usr/local/mysql目錄下並解壓

 mv mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz /usr/local/mysql/
 xz -d mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
 tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar

6. 在系統根目錄的/etc創建MySQL的安裝初始化配置文件my.cnf

vi /etc/my.cnf
[mysqld]
# 設置3306端口
port=3306
# 設置mysql的安裝目錄
basedir=/usr/local/mysql
# 設置mysql數據庫的數據的存放目錄
datadir=/usr/local/mysql/mysqldb
# 允許最大連接數
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
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[client]
# 設置mysql客戶端連接服務端時默認使用的端口
port=3306
default-character-set=utf8

7. 安裝和初始化MySQL

./mysqld --initialize --console

這里提示加載共享庫時出錯:libnuma.so.1:無法打開共享對象文件:沒有這樣的文件或目錄

這里表示缺少相關依賴運行一下指令安裝依賴、

yum -y install numactl

安裝成功后再次執行初始化指令

2021-07-26T06:24:00.586871Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.26) initializing of server in progress as process 24202
2021-07-26T06:24:00.617526Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2021-07-26T06:24:00.676752Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-07-26T06:24:02.385362Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-07-26T06:24:04.193179Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
2021-07-26T06:24:04.193623Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
2021-07-26T06:24:04.273877Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: quyjpB5V9)0x

8. 啟動MySQL數據庫

進入/usr/local/mysql/support-files

./mysql.server start

這里我運行的時候提示了PID 錯誤

這里只需要再安裝目錄下重新授權即可

chmod -R 777 /usr/local/mysql
chmod -R 777 /usr/local/mysql/mysqldb

再次啟動MySQL即可

通過ps命令可查看數據庫進程

ps -ef|grep mysql

將MySQL加入到系統進程 並且設置開機啟動

cp mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list
然后重啟MySQL服務:

service mysqld restart

9. 修改數據庫密碼

cd /usr/local/mysql/bin
./mysql -u root -p

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';

10.遠程登陸以及任意目錄下進入MySQL

配置數據庫遠程登陸

mysql> use mysql;

mysql> update user set user.Host='%' where user.User='root';

mysql> flush privileges;

mysql> quit;
退出數據庫並重啟服務
service mysqld restart

任意目錄進入MySQL 由於系統默認會查找 /usr/bin 下的命令,如果這個目錄下沒有這個命令,就會報 未找到命令: 建立一個軟連接到/usr/bin目錄

ln -s /usr/local/mysql/bin/mysql /usr/bin

11. 使用windows Terminal SSH連接雲服務器

打開windows Terminal按ctrl+,進入配置界面,這里使用的json的后綴 找到profiles下填寫。這里guid需要重新生成https://www.guidgen.com/

{
        "guid": "{cafb3c1c-d4a8-473d-b05e-75c9439216e6}",
        "hidden": false,
        "name": "Centos",
        "commandline": "ssh root@公網ip地址"
      }

這里就可實現快捷連接遠程服務器不需要每次都輸入一次ip,但是這里還是需要密碼,可以使用密鑰實現無密碼登錄

生成密鑰后可以使用一下代碼

{
      "guid": "{b0151614-8f7b-446c-bb65-5390e361c10b}",
      "icon": "此行為icon路徑,可選",
      "name": "Centos7",
      "commandline": "ssh.exe -i ~/.ssh/id_rsa root@公網ip",
      "hidden": false
}

到這Linux 下安裝MySQL的全部過程就結束了


免責聲明!

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



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