ủ cài đặt mysql trên macOS


343

Tôi đang cố gắng thiết lập MySQL trên mac os 10.6 bằng Homebrew brew install mysql 5.1.52.

Mọi thứ diễn ra tốt đẹp và tôi cũng thành công với mysql_install_db.
Tuy nhiên khi tôi cố gắng kết nối với máy chủ bằng cách sử dụng:

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin -u root password 'mypass'

Tôi có:

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin: kết nối với máy chủ tại 'localhost' 
lỗi không thành công: 'Truy cập bị từ chối cho người dùng' root '@' localhost '(sử dụng mật khẩu: NO)'

Tôi cũng đã cố gắng truy cập mysqladmin or mysql using -u root -proot,
nhưng nó không hoạt động với hoặc không có mật khẩu.

Đây là một cài đặt hoàn toàn mới trên một máy hoàn toàn mới và theo như tôi biết thì cài đặt mới phải có thể truy cập mà không cần mật khẩu root. Tôi cũng đã thử:

/usr/local/Cellar/mysql/5.1.52/bin/mysql_secure_installation

nhưng tôi cũng nhận được

LRI 1045 (28000): Truy cập bị từ chối đối với người dùng 'root' @ 'localhost' (sử dụng mật khẩu: NO)


Xem thêm: apple.stackexchange.com/a/199747/152271 ... nó không phải là cài đặt bia, nhưng nó hoạt động với tôi khi không có câu trả lời nào ở đây
sudo rm -rf chém

1
FWIW tôi đã sử dụng mysql -u rootvà nó hoạt động ở đây: |
rogerdpack

Câu trả lời:


683

Tôi nghĩ rằng người ta có thể kết thúc ở vị trí này với các phiên bản cũ hơn của mysql đã được cài đặt. Tôi đã có cùng một vấn đề và không có giải pháp nào ở trên làm việc cho tôi. Tôi đã sửa nó như vậy:

Các lệnh remove& cleanuplệnh của brew đã sử dụng , đã dỡ launchctltập lệnh, sau đó xóa thư mục mysql /usr/local/var, xóa thư mục hiện có của tôi /etc/my.cnf(để lại cái đó cho bạn, nếu nó được áp dụng) và khởi chạy

Cập nhật chuỗi cho plist. Cũng lưu ý thư mục tập lệnh bảo mật thay thế của bạn sẽ dựa trên phiên bản MySQL bạn đang cài đặt.

Từng bước một:

brew remove mysql

brew cleanup

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

sudo rm -rf /usr/local/var/mysql

Sau đó tôi bắt đầu từ đầu:

  1. cài đặt mysql với brew install mysql
  2. đã chạy các lệnh brew được đề xuất: (xem ghi chú: bên dưới)

    unset TMPDIR
    
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
  3. Bắt đầu mysql với mysql.server start lệnh, để có thể đăng nhập vào nó

  4. Đã sử dụng tập lệnh bảo mật thay thế:

    /usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
  5. Đã theo dõi launchctlphần từ đầu ra tập lệnh gói như,

    #start
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    
    #stop
    launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

Lưu ý: các--force bit trên brew cleanupý chí cũng thùng lỗi thời dọn dẹp, nghĩ rằng nó là một tính năng mới homebrew-ish.

Lưu ý thứ hai: một bình luận nói rằng bước 2 không bắt buộc. Tôi không muốn thử nghiệm nó, vì vậy YMMV!


30
Câu trả lời tuyệt vời, cảm ơn! Một điều cần nói thêm: Mặc dù nó được đề cập trong câu trả lời, tôi đã bỏ lỡ nó và cứ như vậy mất khoảng 6 giờ để cố gắng thiết lập trên Lion OSX. Đảm bảo chắc chắn rằng bạn xóa thư mục mysql cũ tại / usr / local / var / mysql nếu bạn có phiên bản MySql trước đó trước khi cài đặt lại. Nếu không, bạn sẽ không thể đăng nhập bằng root ban đầu để đặt mật khẩu và bạn sẽ mất rất nhiều thời gian la hét vào máy tính của mình.
tronbabylove

3
đi vào ~ / Library / LaunchAgents để xem tệp .plist cho mysql thực sự được gọi là gì - trong trường hợp của tôi, nó được cài đặt bởi homebrew, do đó bạn cần sửa đổi quy trình gỡ cài đặt ở trên.
Marco

7
Bởi vì chủ đề này đã cũ, dòng "launchctl unload" ở trên hiện đã sai. Các tệp cài đặt homebrew không còn được gọi là "com.mysql.mysqld.plist", nó được gọi là "homebrew.mxcl.mysql.plist". Bây giờ, dòng nên đọc "launchctl unload -w ~ / Library / LaunchAgents / homebrew.mxcl.mysql.plist"
Tommy

4
Tôi có tôi [ / LaunchAgents` nhưng dỡ chúng mang lạilaunchctl: Couldn't stat("com.mysql.mysqld.plist"): No such file or directory
Ava

9
Bây giờ có thể bỏ qua mysql_install_db, brew tạo máy chủ tự động theo đúng hướng dẫn.
rfreytag

52

Dưới đây là các hướng dẫn chi tiết kết hợp loại bỏ tất cả MySQL khỏi máy Mac của bạn sau đó cài đặt nó Cách thức nấu ăn như Sedorner đã viết ở trên:

Xóa hoàn toàn MySQL theo Tech Lab

  • ps -ax | grep mysql
  • dừng và killmọi quá trình MySQL
  • sudo rm /usr/local/mysql
  • sudo rm -rf /usr/local/var/mysql
  • sudo rm -rf /usr/local/mysql*
  • sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
  • sudo rm -rf /Library/StartupItems/MySQLCOM
  • sudo rm -rf /Library/PreferencePanes/My*
  • launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
  • chỉnh sửa /etc/hostconfigvà xóa dòngMYSQLCOM=-YES-
  • rm -rf ~/Library/PreferencePanes/My*
  • sudo rm -rf /Library/Receipts/mysql*
  • sudo rm -rf /Library/Receipts/MySQL*
  • sudo rm -rf /private/var/db/receipts/*mysql*
  • sudo rm -rf /tmp/mysql*
  • cố gắng chạy mysql, nó không hoạt động

Tạo cài đặt MySQL cho mỗi người dùng Sed góc từ câu trả lời StackOverflow này

  • brew doctor và sửa bất kỳ lỗi nào
  • brew remove mysql
  • brew cleanup
  • brew update
  • brew install mysql
  • unset TMPDIR

    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp # whoami is executed inline
  • mysql.server start

  • chạy các lệnh mà Bia gợi ý, thêm MySQL vào launchctlđể nó tự động khởi chạy khi khởi động

mysql Bây giờ nên làm việc và chạy mọi lúc như mong đợi

Thần tốc.


3
Tôi cũng bị cắn bằng cách thực hiện tất cả các điều trên mà không xóa /tmp/mysql.sock trước.
TKH

Cảm ơn, +1. Nhận xét cặp đôi: bạn nói với sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist, sau đó một vài bước bạn cố gắng vào launchctl unloadtệp đó ... nhưng nó sẽ không ở đó, vì bạn đã xóa nó. Ngoài ra, brew install mysqlchạy mysql_install_dbbước cho tôi, không cần phải làm điều đó hai lần.
Madbreaks

@CorySimmons điều này có nghĩa là tôi nên sử dụng tên riêng của mình hoặc roottrong whoamiphần lệnh của bạn?
YPCrumble

1
Khẳng định - whoami là tên của tôi (tôi đã sử dụng root). Điều này đã làm việc tuyệt vời.
YPCrumble

Lưu ý rằng /etc/hostconfigkhông tồn tại trên Yosemite và hơn thế nữa ( superuser.com/questions/850974/
triệt

44

Có cùng một vấn đề. Có vẻ như có điều gì đó không đúng với hướng dẫn thiết lập hoặc các bảng ban đầu đang được tạo. Đây là cách tôi có mysqld chạy trên máy của mình.

Nếu máy chủ mysqld đã chạy trên máy Mac của bạn, trước tiên hãy dừng máy chủ đó bằng:

launchctl unload -w ~/Library/LaunchAgents/com.mysql.mysqld.plist

Khởi động máy chủ mysqld bằng lệnh sau cho phép mọi người đăng nhập với toàn quyền.

mysqld_safe --skip-grant-tables

Sau đó chạy mysql -u rootmà bây giờ sẽ cho phép bạn đăng nhập thành công mà không cần mật khẩu. Lệnh sau sẽ thiết lập lại tất cả các mật khẩu gốc.

UPDATE mysql.user SET Password=PASSWORD('NewPassword') WHERE User='root'; FLUSH PRIVILEGES;

Bây giờ nếu bạn giết bản sao đang chạy của mysqld_safe và khởi động lại mà không có tùy chọn bỏ qua bảng, bạn sẽ có thể đăng nhập mysql -u root -pvà mật khẩu mới bạn vừa đặt.


Điều này làm việc cho tôi! Tôi bắt đầu đoán mật khẩu trước khi tôi cũng thử và mật khẩu cuối cùng là 'mật khẩu'. Vì vậy, hãy thử điều đó.
cointilt

Khởi chạy mysqld_safe mà không có bảng cấp cho tôi làm việc. Tuy nhiên, CẬP NHẬT không hoạt động vì tôi không có bất kỳ hồ sơ nào về select * từ mysql.user; Vì chúng tôi đã đăng nhập với quyền root, chúng tôi chỉ cần chèn một cái cho root bằng cách chạy GRANT ALL PRIVILEGES ON . ĐẾN 'root' @ 'localhost' được xác định bởi 'bất cứ điều gì'; QUYỀN RIÊNG TƯ;
Rupert

Tôi đã sử dụng dịch vụ dừng / tập lệnh và nó tiếp tục khởi động lại. Đó có phải là vì tôi chưa bao giờ dỡ LaunchAgent? (doh)
reneruiz

1
Những gì làm việc cho tôi là một cái gì đó tương tự như những gì bạn làm. Trong phần bạn đã cập nhật mật khẩu của người dùng, tôi phải thực hiện: sử dụng mysql; cập nhật người dùng đặt xác thực_ chuỗi = mật khẩu ('1111') trong đó user = 'root'; Như trong: stackoverflow.com/a/31122246/1328261
ruhanbidart

16

Nếu brew cài đặt MySQL 5.7, quy trình sẽ khác một chút so với các phiên bản trước. Để đặt lại mật khẩu gốc, hãy tiến hành như sau:

sudo rm -rf /usr/local/var/mysql
mysqld --initialize

Mật khẩu tạm thời sẽ được in ra bàn điều khiển và nó chỉ có thể được sử dụng để cập nhật mật khẩu gốc:

mysql.server start
echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'my-new-password';" | mysql -uroot --password=TEMPORARY_PASSWORD

2
Tôi có thể thấy mật khẩu tạm thời được tạo nhưng khi tôi thử chạy mysql, tôi nhận được: ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXXX.local.pid).và khi tôi thực hiện root mysql -u, mật khẩu không được chấp nhận.
forloop

1
Tôi đã cài đặt thành công mysql 5.7.9 bằng trình cài đặt dmg nhắc nhở tôi một cửa sổ tạo mật khẩu tạm thời cho tôi. Và bây giờ mysqlđang hoạt động chính xác. Thật tệ, tôi đã phải dành một lượng lớn thời gian chỉ để làm cho nó hoạt động trên một chiếc Macbook hoàn toàn mới. : |
forloop

1
@forloop 1. ps -ef | grep mysql 2. kill -9 pid 3. mysql.server start
oshaiken

Đối với tôi, việc thiết lập lại / thay đổi mật khẩu ở trên không hoạt động. Tôi đã phải đăng nhập vào mysql bằng mật khẩu tạm thời sau đó chạy lệnh thay đổi 1. mysql -u root -p <temp-password> 2.ALTER USER 'root'@'localhost' IDENTIFIED BY 'New-Password';
Kiểm tra thử nghiệm

8

Được rồi tôi đã có cùng một vấn đề và giải quyết nó. Vì một số lý do, tập lệnh mysql_secure_installation không hoạt động khi sử dụng Homebrew để cài đặt mysql, vì vậy tôi đã thực hiện thủ công. Trên CLI, nhập :

mysql -u root

Điều đó sẽ đưa bạn vào mysql. Bây giờ hãy làm như sau (lấy từ mysql_secure_installation):

UPDATE mysql.user SET Password=PASSWORD('your_new_pass') WHERE User='root';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'
DROP DATABASE test;
FLUSH PRIVILEGES;

Bây giờ thoát ra và quay trở lại vào mysql với: mysql -u root -p


1
Giải pháp này không hiệu quả với tôi vì root mysql -u không đưa tôi đến dấu nhắc mysql. Nó cho biết Access bị từ chối đối với người dùng 'root' @ 'localhost' (sử dụng mật khẩu: NO)
Nick Vanderbilt

Bạn đã cài đặt MySQL trước đó trên máy đó chưa?
Darren Newton

8

Tôi đã có cùng một vấn đề ngay bây giờ. Nếu bạn brew info mysqlvà làm theo các bước thì có vẻ như mật khẩu gốc sẽ là new-passwordnếu tôi nhớ chính xác. Tôi đã nhìn thấy điều tương tự bạn đang thấy. bài viết này đã giúp tôi nhiều nhất.

Hóa ra tôi không có tài khoản nào được tạo cho tôi. Khi tôi đăng nhập sau khi chạy mysqld_safevà không select * from user;có hàng nào được trả lại. Tôi đã mở MySQLWorkbench khi mysqld_safeđang chạy và thêm một roottài khoản với tất cả các thông tin cá nhân mà tôi mong đợi. Điều này đang làm việc tốt cho tôi bây giờ.


7

Nếu mysql đã được cài đặt

Dừng hoàn toàn mysql.

  1. mysql.server stop <- có thể cần chỉnh sửa dựa trên phiên bản của bạn
  2. ps -ef | grep mysql <- liệt kê các quy trình với mysql trong tên của họ
  3. kill [PID] <- tiêu diệt các tiến trình bằng PID

Xoá những tập tin. Hướng dẫn ở trên là tốt. Tôi sẽ thêm:

  1. sudo find /. -name "*mysql*"
  2. Sử dụng phán đoán của bạn, rm -rfnhững tập tin. Lưu ý rằng nhiều chương trình có trình điều khiển cho mysql mà bạn không muốn xóa. Ví dụ: không xóa nội dung trong thư mục cài đặt PHP. Đừng loại bỏ những thứ trong thư mục mysql của chính nó.

Tải về

Hy vọng bạn đã homebrew. Nếu không, tải về nó.

Tôi thích chạy brew với quyền root, nhưng tôi không nghĩ bạn phải làm thế. Chỉnh sửa 2018: bạn không thể chạy brew với quyền root nữa

  1. sudo brew update
  2. sudo brew install cmake <- sự phụ thuộc cho mysql, hữu ích
  3. sudo brew install openssl <- sự phụ thuộc cho mysql, hữu ích
  4. sudo brew info mysql <- lướt qua điều này ... nó cho bạn một số ý tưởng về những gì sắp tới
  5. sudo brew install mysql --with-embedded; say done<- Cài đặt mysql với máy chủ nhúng. Cho bạn biết khi nào nó kết thúc (quá trình cài đặt của tôi mất 10 phút)

Sau đó

  1. sudo chown -R mysql /usr/local/var/mysql/ <- mysql sẽ không hoạt động với tôi cho đến khi tôi chạy lệnh này
  2. sudo mysql.server start <- một lần nữa, cú pháp chính xác có thể thay đổi
  3. Tạo người dùng trong mysql ( http://dev.mysql.com/doc/refman/5.7/en/create-user.html ). Hãy nhớ thêm mật khẩu cho người dùng root.

3

thông tin bia

mysql: stable 5.6.12 (bottled)
http://dev.mysql.com/doc/refman/5.6/en/
Conflicts with: mariadb, mysql-cluster, percona-server
/usr/local/Cellar/mysql/5.6.12 (9363 files, 353M) *
  Poured from bottle
From: https://github.com/mxcl/homebrew/commits/master/Library/Formula/mysql.rb
==> Dependencies
Build: cmake
==> Options
--enable-debug
    Build with debug support
--enable-local-infile
    Build with local infile loading support
--enable-memcached
    Enable innodb-memcached support
--universal
    Build a universal binary
--with-archive-storage-engine
    Compile with the ARCHIVE storage engine enabled
--with-blackhole-storage-engine
    Compile with the BLACKHOLE storage engine enabled
--with-embedded
    Build the embedded server
--with-libedit
    Compile with editline wrapper instead of readline
--with-tests
    Build with unit tests
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.

To connect:
    mysql -uroot

To reload mysql after an upgrade:
    launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

mysql.service bắt đầu

. ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).

hoặc gốc mys -u

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Tôi đang tìm giải pháp một thời gian nhưng tôi không thể giải quyết vấn đề của mình. Tôi đã thử một số giải pháp trong stackoverflow.com nhưng không có điều này giúp tôi.


4
Hãy thử chạy sudo chown -R mysql /usr/local/var/mysql/trước khi chạy mysql.server startnếu bạn đang chạy mysql.serverbằng root (khi bắt đầu sử dụng người dùng root, máy chủ MySQL sẽ hạ cấp xuống cho _mysqlngười dùng).
Rarylson Freitas

Này, bạn đã tình cờ tìm ra giải pháp cho vấn đề này chưa?
KcC0

ồ, số lượng câu hỏi và 1.000 câu trả lời cho vấn đề này ... nghĩ rằng tôi sẽ chỉ brew install redistbh
Danyal Aytekin

3

TL; DR

Máy chủ MySQL có thể không chạy sau khi cài đặt với Brew. Hãy thử brew services start mysqlhoặc chỉ mysql.server startkhi bạn không muốn MySQL chạy như một dịch vụ nền.

Toàn bộ câu chuyện:

Tôi vừa cài đặt MySQL (ổn định) 5.7.17 trên MacBook Pro mới chạy Sierra và cũng gặp lỗi khi chạy mysql_secure_installation:

Securing the MySQL server deployment.

Enter password for user root: 
Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Nói gì cơ?

Theo thông tin cài đặt từ Brew, mysql_secure_installationnên nhắc tôi ... bảo mật cài đặt. Tôi hình dung máy chủ MySQL có thể không chạy và đúng như vậy. Chạy brew services start mysqlvà sau đó mysql_secure_installationlàm việc như một lá bùa.


1

Hãy thử bằng cách cho phép Grant Lệnh của mysql


vấn đề là tôi không thể truy cập máy chủ mysql sau khi cài đặt bằng brew. Tôi có thể khởi động nó, nhưng nó sẽ không cho phép tôi root bằng hoặc không có mật khẩu. (do đó tôi không thể tạo người dùng khác hoặc quản lý quyền .. hoặc tôi chưa hiểu bạn đúng không?
nikola

1

Không có câu trả lời nào ở trên (hoặc bất kỳ câu trả lời nào trong số hàng tá câu trả lời tôi thấy ở nơi khác) có hiệu quả với tôi khi sử dụng brew với phiên bản mới nhất của mysql và yosemite. Tôi đã kết thúc việc cài đặt một phiên bản mysql khác thông qua brew.

Chỉ định một phiên bản cũ hơn bằng cách nói (ví dụ)

brew install mysql56

Đã làm cho tôi. Hy vọng điều này sẽ giúp được ai đó. Đây là một vấn đề bực bội mà tôi cảm thấy như mình bị mắc kẹt mãi mãi.


Vâng, điều này sẽ hoạt động, nhưng nếu bạn muốn cài đặt MySQL 5.7 (như hiện tại được thực hiện bởi brew install mysql), bạn có thể làm theo hướng dẫn trong câu trả lời của tôi stackoverflow.com/a/33924648/133106
mrucci

1

Đây là bản cập nhật cho MySQL 5.7

bash
GNU bash, phiên bản 4.4.12 (1) -release (x86_64-apple-darwin17.0.0)
Bản quyền (C) 2016 Phần mềm miễn phí Foundation, Inc.
Giấy phép GPLv3 +: GNU GPL phiên bản 3 trở lên 

Đây là phần mềm miễn phí; bạn có thể tự do thay đổi và phân phối lại.
KHÔNG CÓ BẢO HÀNH, trong phạm vi được pháp luật cho phép.

# ========================================
bia - đảo ngược
Homebrew 1.7.6
Homebrew / homebrew-core (git sửa đổi eeb08; cam kết cuối cùng 2018-09-27)
Homebrew / homebrew-cask (sửa đổi git c9f62; cam kết cuối cùng 2018-09-27)

# ========================================
chuyển đổi mysql
mysql Ver 14,14 Phân phối 5.7,23, cho osx10.13 (x86_64) bằng cách sử dụng trình bao bọc EditLine

# ========================================
system_profiler SPSoftwareDataType
Phần mềm:

    Tổng quan về phần mềm hệ thống:

      Phiên bản hệ thống: macOS 10.13.3 (17D47)
      Phiên bản hạt nhân: Darwin 17.4.0
      Khối lượng khởi động: Macintosh HD
      Chế độ khởi động: Bình thường
      Tên máy tính: EdisonMacHomeBj
      Tên người dùng: Edison (edison)
      Bộ nhớ ảo an toàn: Đã bật
      Bảo vệ toàn vẹn hệ thống: Vô hiệu hóa
      Thời gian kể từ khi khởi động: 6 ngày 23:13
loại bỏ bia mysql@5.7
dọn dẹp bia
mv / usr / local / var / mysql /usr/local/var/mysql.bak
cài đặt bia mysql@5.7
rm -rf / usr / local / var / mysql

# ========================================
mysqld - khởi tạo
2018-09-28T04: 54: 06.526061Z 0 [Cảnh báo] TIMESTAMP với giá trị DEFAULT ẩn bị phản đối. Vui lòng sử dụng tùy chọn máy chủ --explicit_defaults_for_timestamp (xem tài liệu để biết thêm chi tiết).
2018-09-28T04: 54: 06.542625Z 0 [Cảnh báo] Đặt low_case_table_names = 2 vì hệ thống tệp cho / usr / local / var / mysql / không phân biệt chữ hoa chữ thường
2018-09-28T04: 54: 07.096637Z 0 [Cảnh báo] InnoDB: Tệp nhật ký mới được tạo, LSN = 45790
2018-09-28T04: 54: 07.132950Z 0 [Cảnh báo] InnoDB: Tạo bảng hệ thống ràng buộc khóa ngoại.
2018-09-28T04: 54: 07.196824Z 0 [Cảnh báo] Không tìm thấy UUID nào, vì vậy chúng tôi cho rằng đây là lần đầu tiên máy chủ này được khởi động. Tạo UUID mới: 87cf2f10-c2da-11e8-ac2d-ba163df10130.
2018-09-28T04: 54: 07.224871Z 0 [Cảnh báo] Bảng Gtid chưa sẵn sàng để được sử dụng. Bảng 'mysql.gtid_executed' không thể mở được.
2018-09-28T04: 54: 07.366688Z 0 [Cảnh báo] Chứng chỉ CA ca.pem là tự ký.
2018-09-28T04: 54: 07.457954Z 1 [Lưu ý] Mật khẩu tạm thời được tạo cho root @ localhost: kq3K = JR8; GqZ

# ========================================
mysql_secure_installation -uroot -p "kq3K = JR8; GqZ"
mysql_secure_installation: [Cảnh báo] Sử dụng mật khẩu trên giao diện dòng lệnh có thể không an toàn.

Đảm bảo việc triển khai máy chủ MySQL.


Mật khẩu hiện tại cho root tài khoản người dùng đã hết hạn. Vui lòng đặt mật khẩu mới.

Mật khẩu mới:

Nhập lại mật khẩu mới:

Có thể sử dụng PASSWORD PLUGIN để kiểm tra mật khẩu
và cải thiện an ninh. Nó kiểm tra độ mạnh của mật khẩu
và cho phép người dùng chỉ đặt những mật khẩu đó là
đủ an toàn. Bạn có muốn thiết lập plugin VALIDATE PASSWORD không?

Nhấn y | Y cho Có, bất kỳ phím nào khác cho Không: n
Sử dụng mật khẩu hiện có cho root.
Thay đổi mật khẩu cho root? ((Nhấn y | Y cho Có, bất kỳ phím nào khác cho Không): y

Mật khẩu mới:

Nhập lại mật khẩu mới:
Theo mặc định, cài đặt MySQL có một người dùng ẩn danh,
cho phép bất cứ ai đăng nhập vào MySQL mà không cần phải có
một tài khoản người dùng được tạo cho họ. Điều này chỉ dành cho
kiểm tra và để cài đặt suôn sẻ hơn một chút.
Bạn nên loại bỏ chúng trước khi chuyển sang sản xuất
Môi trường.

Xóa người dùng ẩn danh? (Nhấn y | Y cho Có, bất kỳ phím nào khác cho Không): y
Sự thành công.


Thông thường, root chỉ nên được phép kết nối từ
'Localhost'. Điều này đảm bảo rằng ai đó không thể đoán tại
mật khẩu gốc từ mạng.

Không cho phép đăng nhập root từ xa? (Nhấn y | Y cho Có, bất kỳ phím nào khác cho Không): n

 ... bỏ qua.
Theo mặc định, MySQL đi kèm với một cơ sở dữ liệu có tên là 'test'
bất cứ ai cũng có thể truy cập. Điều này cũng chỉ dành cho thử nghiệm,
và nên được gỡ bỏ trước khi chuyển sang sản xuất
Môi trường.


Xóa cơ sở dữ liệu kiểm tra và truy cập vào nó? (Nhấn y | Y cho Có, bất kỳ phím nào khác cho Không): n

 ... bỏ qua.
Tải lại các bảng đặc quyền sẽ đảm bảo rằng tất cả các thay đổi
thực hiện cho đến nay sẽ có hiệu lực ngay lập tức.

Tải lại bảng đặc quyền bây giờ? (Nhấn y | Y cho Có, bất kỳ phím nào khác cho Không): y
Sự thành công.

Tất cả đã được làm xong!

khi sao chép tất cả cơ sở dữ liệu từ "mysql.bak" thì nó không hoạt động :(
Jahirul Islam Mamun

1

Chỉ cần thêm một cái gì đó vào các câu trả lời trước - Khi nâng cấp từ MySql 5.6 lên MySql 8.0, tôi đã làm theo các bước được cung cấp ở đây để thực hiện gỡ cài đặt sạch, nhưng tôi đã gặp lỗi sau

2019-11-05T07:57:31.359304Z 0 [ERROR] [MY-000077] [Server] /usr/local/Cellar/mysql/8.0.18/bin/mysqld: Error while setting value 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' to 'sql_mode'.
2019-11-05T07:57:31.359330Z 0 [ERROR] [MY-013236] [Server] The designated data directory /usr/local/var/mysql is unusable. You can remove all files that the server added to it.
2019-11-05T07:57:31.359413Z 0 [ERROR] [MY-010119] [Server] Aborting
2019-11-05T07:57:31.359514Z 0 [Note] [MY-010120] [Server] Binlog end

Mất một thời gian để tìm ra nó. Tìm thấy một manh mối ở đây: https://discference.brew.sh/t/clean-removal-of-mysql/2251

Vì vậy, chìa khóa cho vấn đề của tôi là xóa tệp /usr/local/etc/my.cnf sau khi gỡ cài đặt. Sau bước cuối cùng đó, MySql cuối cùng đã bắt đầu hoạt động.


0

Tôi đã có vấn đề tương tự sau khi tôi cố gắng khởi động lại mysql.

Tôi sử dụng hai bí danh sau trong .profile của mình để thuận tiện

alias mysql-stop='launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'
alias mysql-start='launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist' 

Sau khi dừng mysql và sau đó cố gắng khởi động lại, tôi đã gặp phải sự cố mà bạn đang gặp phải. Tôi đã xem xét tải launchctl và nó đã báo cáo một lỗi không tìm thấy để tải lỗi lỗi.

Sau khi tìm kiếm nhanh, tôi thấy điều này ..

http://www.daveoncode.com/2013/02/01/solve-mac-osx-launchctl-noth-found-to-load-error/

Vì vậy, tôi cập nhật cho tôi mysql-startbí danh như sau

alias mysql-start='launchctl load -w -F ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'

Điều này giải quyết vấn đề của tôi có thể hữu ích cho bạn.


2
Hiện tại Brew hỗ trợ một serviceslệnh, vì vậy chúng có thể được thay thế bằng brew services stop mysqlbrew services start mysqltương ứng.
phát hành

0

"Đường dẫn cơ sở" cho Mysql được lưu trữ trong /etc/my.cnfđó không được cập nhật khi bạn nâng cấp bia. Chỉ cần mở nó và thay đổi giá trị dựa trên

Ví dụ: thay đổi điều này:

[mysqld]
basedir=/Users/3st/homebrew/Cellar/mysql/5.6.13

để trỏ đến phiên bản mới:

[mysqld]
basedir=/Users/3st/homebrew/Cellar/mysql/5.6.19

Khởi động lại mysql bằng:

mysql.server start
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.