1.下載mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz的安裝包
https://dev.mysql.com/downloads/mysql/
如果不下載,可用預留mysql安裝包文件。
2.解壓mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz(注意解壓.xz壓縮包是 -xvf參數非-zxvf)
[root@localhost local]# tar -xvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
3.將解壓的文件重命名為mysql
[root@localhost local]# mv mysql-8.0.18-linux-glibc2.12-x86_64 mysql
4.進入到/usr/local目錄下,創建用戶和用戶組並授權
[root@localhost local]# pwd /usr/local [root@localhost local]# groupadd mysql [root@localhost local]# useradd -r -g mysql mysql [root@localhost local]# chown -R mysql:mysql ./ #授權 [root@localhost local]#
5.在/usr/local/mysql目錄下,創建data文件夾
[root@localhost mysql]# mkdir data
6.創建my.cnf文件(cd /etc/ 目錄下)
[root@localhost etc]#touch my.cnf
[root@localhost etc]# vim /etc/my.cnf
配置為以下查看內容
[root@localhost support-files]# cat /etc/my.cnf
[client]
port = 3306 socket = /tmp/mysql.sock [mysqld] init-connect='SET NAMES utf8' basedir=/usr/local/mysql #根據自己的安裝目錄填寫 datadir=/usr/local/mysql/data #根據自己的mysql數據目錄填寫 socket=/tmp/mysql.sock max_connections=200 # 允許最大連接數 character-set-server=utf8 # 服務端使用的字符集默認為8比特編碼的latin1字符集 default-storage-engine=INNODB # 創建新表時將使用的默認存儲引擎
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
log-error=/usr/local/mysql/data/error.log
lower_case_table_names=1 #1表示不區分大小寫 0表示默認區分
7.初始化數據庫,並會自動生成隨機密碼,記下等下登陸要用(注意,記得和不區分大小寫一直執行,這是個mysql-8.x的坑,執行的前提是要在配置文件中有這個命令)
[root@localhost mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lower-case-table-names=1
初始化時如果出現了報錯:
安裝 libaio 包 ,安裝成功后,繼續運行數據庫的初始化命令。
[root@localhost mysql]# rpm -qa|grep libaio
[root@localhost mysql]# yum -y install libaio-devel.x86_64
8.修改/usr/local/mysql當前目錄得用戶
[root@localhost mysql]# chown -R root:root ./
[root@localhost mysql]# chown -R mysql:mysql data
9.開機自啟,進入/usr/local/mysql/support-files進行設置
[root@localhost support-files]# cp mysql.server /etc/init.d/mysql
[root@localhost support-files]# chmod +x /etc/init.d/mysql
10.注冊服務
[root@localhost support-files]# chkconfig --add mysql [root@localhost support-files]# chkconfig --list mysql 注:該輸出結果只顯示 SysV 服務,並不包含 原生 systemd 服務。SysV 配置數據 可能被原生 systemd 配置覆蓋。 要列出 systemd 服務,請執行 'systemctl list-unit-files'。 查看在具體 target 啟用的服務請執行 'systemctl list-dependencies [target]'。 mysql 0:關 1:關 2:開 3:開 4:開 5:開 6:關 [root@localhost support-files]#
11.etc/ld.so.conf要配置路徑,不然報錯
[root@localhost support-files]# vim /etc/ld.so.conf
添加如下內容:
/usr/local/mysql/lib
12.配置環境變量
[root@localhost support-files]# vim /etc/profile
添加如下內容:
#MYSQL ENVIRONMENT
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
13.更新環境變量
[root@localhost support-files]# source /etc/profile
14.啟動mysql服務
[root@localhost ~]# service mysql start
15.登錄,密碼為上面第6步隨機生成得密碼(輸入時不顯示)
修改 'root'@'localhost' 的密碼
mysql> alter user 'root'@'localhost' identified by 'root123'; Query OK, 0 rows affected (0.02 sec)
16.開啟允許遠程登錄
mysql> use mysql; #如果報以下該錯誤 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> ALTER USER USER() IDENTIFIED BY 'root'; #解決方式 Query OK, 0 rows affected (0.01 sec)
mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed
mysql> select host, user, authentication_string, plugin from user;#查看用戶信息 +-----------+------------------+------------------------------------------------------------------------+-----------------------+ | host | user | authentication_string | plugin | +-----------+------------------+------------------------------------------------------------------------+-----------------------+ | localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | | localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | | localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | | localhost | root | $A$005$<C_9#Yu!~]+H ?K.8u3KgsQTtj2nbChjoYOTRNsG2jMcHuOGpMrXFo7GF1 | caching_sha2_password | +-----------+------------------+------------------------------------------------------------------------+-----------------------+ 4 rows in set (0.00 sec) mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'root'; #創建任意ip連接root用戶 Query OK, 0 rows affected (0.01 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; #授權root用戶可以遠程登陸 Query OK, 0 rows affected (0.01 sec) mysql> flush privileges;#立即生效 Query OK, 0 rows affected (0.04 sec) mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123';#修改'root'@'%'用戶密碼 Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES;#立即生效 Query OK, 0 rows affected (0.02 sec) mysql> exit;#退出 Bye [root@localhost ~]# service mysql restart #重啟mysql服務 Shutting down MySQL.. SUCCESS! Starting MySQL.. SUCCESS! [root@localhost ~]#
防火牆開放3306端口
至此全部配置完成,遠程工具即可連接。
————————————————
版權聲明:本文為CSDN博主「大橘為重Q」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_38898423/article/details/103473895