mac 启动mysql多实例_实践:mysql单机多实例部署(mac)
背景:在自己電腦搭建或測試分布式服務框架時,經(jīng)常會用多個數(shù)據(jù)庫實例模擬多個環(huán)境的情況,因此我把搭建多實例mysql的過程記錄下來,方便互相學習和溝通。
1.搭建環(huán)境
1) mac 電腦,版本?10.15.6
2) mysql版本??8.0.20
2.搭建過程如下
2.1 步驟
1) 官網(wǎng)下載mysql安裝tar包,注意dmg不行
mysql-8.0.20-macos10.15-x86_64.tar.gz
2)解壓及創(chuàng)建mysql包路徑
```
tar-xfv mysql-8.0.20-macos10.15-x86_64.tar.gz
cp -rf mysql-8.0.20-macos10.15-x86_64/*? /usr/local/mysql8.0/
```
3)創(chuàng)建mysql數(shù)據(jù)文件存放路徑mkdir -p??/usr/local/mysql8.0/{3306,3307,3308,3309}/data
##授權用戶組mysql的權限
chown -R mysql:mysql??/usr/local/mysql8.0
##創(chuàng)建日志文件
touch /usr/local/mysql8.0/mysqld_multi.log
4)編輯腳本?my.cnf
vim /etc/my.cnf
###文件內容如下
[mysqld]
user=mysql
basedir =/usr/local/mysql8.0
datadir=/usr/local/mysql8.0/data
[mysqld_multi]
mysqld=/usr/local/mysql8.0/bin/mysqld_safe
mysqladmin=/usr/local/mysql8.0/bin/mysqladmin
log=/usr/local/mysql8.0/mysqld_multi.log
[mysqld3306]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/usr/local/mysql8.0/3303/data
port=3306
user=mysql
server_id=3306
socket=/tmp/mysql_3306.sock
log-error =/usr/local/mysql8.0/3306/error_3306.log
[mysqld3307]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/usr/local/mysql8.0/3307/data
port=3307
user=mysql
server_id=3307
socket=/tmp/mysql_3307.sock
log-error =/usr/local/mysql8.0/3307/error_3307.log
[mysqld3308]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/usr/local/mysql8.0/3308/data
port=3308
user=mysql
server_id=3308
socket=/tmp/mysql_3308.sock
log-error =/usr/local/mysql8.0/3308/error_3308.log
[mysqld3309]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/usr/local/mysql8.0/3309/data
port=3309
user=mysql
server_id=3309
socket=/tmp/mysql_3309.sock
log-error =/usr/local/mysql8.0/3309/error_3309.log
5)分別初始化3306、3307、3308、3309端口,注意,初始化實例的最后一行記錄了root的初始密碼
/usr/local/mysql8.0/bin/mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/usr/local/mysql8.0/ --datadir=/usr/local/mysql8.0/3307/data
/usr/local/mysql8.0/bin/mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/usr/local/mysql8.0/ --datadir=/usr/local/mysql8.0/3308/data
/usr/local/mysql8.0/bin/mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/usr/local/mysql8.0/ --datadir=/usr/local/mysql8.0/3309/data
6)設置環(huán)境變量
vim ~/.bash_profile
##添加如下配置
export PATH=/usr/local/mysql/bin:$PATH
##生效配置
source??~/.bash_profile
7) mysql命令創(chuàng)建別名,不然后面這三個命令識別不出來 會報錯
alias mysqld=/usr/local/mysql8.0/bin/mysqld
alias mysqld_multi=/usr/local/mysql8.0/bin/mysqld_multi
alias mysqladmin=/usr/local/mysql8/bin/mysqladmin
8) 啟動實例
mysqld_multi --defaults-extra-file=/etc/my.cnf --log=/usr/local/mysql8.0/mysqld_multi.log --user=mysql start 3306
mysqld_multi --defaults-extra-file=/etc/my.cnf? --log=/usr/local/mysql8.0/mysqld_multi.log --user=mysql? start 3307
mysqld_multi --defaults-extra-file=/etc/my.cnf? --log=/usr/local/mysql8.0/mysqld_multi.log --user=mysql? start 3308
mysqld_multi --defaults-extra-file=/etc/my.cnf? --log=/usr/local/mysql8.0/mysqld_multi.log --user=mysql? start 3309
9)驗證實例
mysqld_multi --defaults-extra-file=/etc/my.cnf report
2.2 修改密碼
詳見:
##先登錄
mysql -u root -p -S /tmp/mysql_3307.sock
##修改密碼
ALTER USER USER() IDENTIFIED BY '123456';
exit;
##驗證
附錄圖:
2.3 客戶端連接問題
1.出現(xiàn)Authentication plugin 'caching_sha2_password' 錯誤時,是因登錄密碼級別設置的高了。
2.解決方法:
1)管理員權限運行命令提示符,登陸MySQL
2)修改賬戶密碼加密規(guī)則并更新用戶密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;? ?#修改加密規(guī)則
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';? ?#更新一下用戶的密碼
3)刷新權限并重置密碼
FLUSH PRIVILEGES;? ?#刷新權限
alter user 'root'@'localhost' identified by '123456'; #再重置下密碼
4)現(xiàn)在再次打開Navicat Premium 12連接MySQL問題數(shù)據(jù)庫就會發(fā)現(xiàn)可以連接成功了
總結
以上是生活随笔為你收集整理的mac 启动mysql多实例_实践:mysql单机多实例部署(mac)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手柄对应键盘键位是怎样的
- 下一篇: go 切片取最后一个元素_深挖 Go 之