前言
學習大模型的時候需要一個mysql,原因還是在公司使用電腦的時候不允許按照Docker-Desktop,我的宿主機其實是MAC,我習慣上還是在centsos上面安裝,就發現這件過去很簡單的事情居然搗鼓了我蠻久,記錄一下。
容器環境
我直接安裝了OrbStack,這個其實是一個輕量級的容器環境,完全免費
brew install orbstack
里面可以直接建立centos環境,版本是不不讓選擇的,直接create即可
安裝基礎環境
yum -y install wget net-tools
安裝mysql
下載MySQL的yum源配置
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
安裝MySQL的yum源
yum -y install mysql57-community-release-el7-11.noarch.rpm
yum方式安裝MySQL
yum -y install mysql-server
安裝服務之后查看服務名字
systemctl list-unit-files | grep mysql
mysqld.service disabled disabled
mysqld@.service disabled disabled
(1)查看MySQL狀態
systemctl status mysqld.service(2)啟動MySQL服務
systemctl start mysqld.service(3)關閉MySQL服務
systemctl stop mysqld.service(4)重啟MySQL服務
systemctl restart mysqld.service(5)開啟開機自啟動MySQL服務
systemctl enable mysqld.service
初始化mysql
我們可以從日志中找到密碼初始化的部分
cat /var/log/mysql/mysqld.log |grep pass
如下,其實是表示空密碼
2025-06-20T13:21:20.635135Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
直接登錄
mysql -uroot -p
直接敲回車輸入空密碼就行
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.02 sec)
設置訪問密碼
MySQL 8.0及以上版本不再支持在GRANT語句中直接創建用戶并設置密碼的語法
首先需要顯式創建用戶:
CREATE USER 'test'@'%' IDENTIFIED BY '123456';
然后再授予權限:
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' WITH GRANT OPTION;
最后刷新權限使更改生效
FLUSH PRIVILEGES;
客戶端訪問
還沒完,要從外面機器訪問才算,切換到宿主機,安裝客戶端
brew install mysql-client
安裝之后命令行是不生效的
echo 'export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
訪問:使用前面設置的密碼
mysql -h198.19.249.98 -utest -p123456
可以連接
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.005 sec)