Mysql_install_db là gì?
Khi bạn đã cài đặt MySQL (từ bản phân phối nhị phân hoặc nguồn), bạn cần khởi tạo các bảng cấp, khởi động máy chủ và đảm bảo rằng máy chủ hoạt động tốt. Bạn cũng có thể muốn sắp xếp để máy chủ tự động khởi động và dừng khi hệ thống của bạn khởi động và tắt Show Thông thường, bạn cài đặt các bảng cấp và khởi động máy chủ như thế này để cài đặt từ nguồn phân phối shell> ./scripts/mysql_install_db shell> cd mysql_installation_directory shell> ./bin/safe_mysqld --user=mysql & Đối với phân phối nhị phân (không phải gói RPM hoặc gói pkg), hãy làm điều này shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql & Điều này tạo ra cơ sở dữ liệu mysql sẽ chứa tất cả các đặc quyền cơ sở dữ liệu, cơ sở dữ liệu thử nghiệm mà bạn có thể sử dụng để kiểm tra MySQL và cả các mục nhập đặc quyền cho người dùng chạy mysql_install_db và người dùng root (không có bất kỳ mật khẩu nào). Điều này cũng khởi động máy chủ mysqld mysql_install_db sẽ không ghi đè lên bất kỳ bảng đặc quyền cũ nào, vì vậy nó sẽ an toàn để chạy trong mọi trường hợp. Nếu bạn không muốn có cơ sở dữ liệu thử nghiệm, bạn có thể xóa nó bằng mysqladmin -u root drop test Việc kiểm tra được thực hiện dễ dàng nhất từ thư mục cấp cao nhất của bản phân phối MySQL. Đối với bản phân phối nhị phân, đây là thư mục cài đặt của bạn (thường giống như shell> scripts/mysql_install_db7). Đối với phân phối nguồn, đây là thư mục chính của cây nguồn MySQL của bạn. Trong các lệnh được hiển thị trong phần này và trong các phần phụ sau, BINDIR là đường dẫn đến vị trí cài đặt các chương trình như mysqladmin và safe_mysqld. Đối với phân phối nhị phân, đây là thư mục shell> scripts/mysql_install_db8 trong phân phối. Đối với phân phối nguồn, BINDIR có thể là shell> scripts/mysql_install_db9, trừ khi bạn chỉ định thư mục cài đặt khác với mysqld: Can't find file: 'host.frm'0 khi chạy cấu hình. EXECDIR là vị trí cài đặt máy chủ mysqld. Đối với phân phối nhị phân, điều này giống như BINDIR. Đối với phân phối nguồn, EXECDIR có lẽ là mysqld: Can't find file: 'host.frm'1 Thử nghiệm được mô tả chi tiết
Sự cố khi chạy mysql_install_dbMục đích của tập lệnh mysql_install_db là tạo các bảng đặc quyền MySQL mới. Nó sẽ không ảnh hưởng đến bất kỳ dữ liệu nào khác. Nó cũng sẽ không làm gì nếu bạn đã cài đặt bảng đặc quyền MySQL Nếu bạn muốn tạo lại bảng đặc quyền của mình, bạn nên gỡ máy chủ mysqld xuống, nếu nó đang chạy, sau đó thực hiện thao tác như shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &2 Phần này liệt kê các vấn đề bạn có thể gặp phải khi chạy mysql_install_db mysql_install_db không cài đặt bảng cấp Bạn có thể thấy rằng mysql_install_db không thể cài đặt các bảng cấp phép và kết thúc sau khi hiển thị các thông báo sau shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &3 Trong trường hợp này, bạn nên kiểm tra tệp nhật ký thật cẩn thận. Nhật ký phải nằm trong thư mục mysqld: Can't find file: 'host.frm'9 được đặt tên bởi thông báo lỗi và phải cho biết lý do tại sao mysqld không bắt đầu. Nếu bạn không hiểu chuyện gì đã xảy ra, hãy đính kèm nhật ký khi bạn đăng báo cáo lỗi bằng mysqlbug. Nhìn thấyĐã có một trình nền mysqld đang chạy Trong trường hợp này, có lẽ bạn không cần phải chạy mysql_install_db. Bạn chỉ phải chạy mysql_install_db một lần khi cài đặt MySQL lần đầu Cài đặt daemon mysqld thứ hai không hoạt động khi một daemon đang chạyĐiều này có thể xảy ra khi bạn đã có một bản cài đặt MySQL hiện có, nhưng muốn đặt một bản cài đặt mới ở một nơi khác (ví dụ: để thử nghiệm hoặc có lẽ bạn chỉ muốn chạy hai bản cài đặt cùng một lúc). Nói chung, sự cố xảy ra khi bạn cố chạy máy chủ thứ hai là nó cố sử dụng cùng một ổ cắm và cổng như cái cũ. Trong trường hợp này, bạn sẽ nhận được thông báo lỗi. Không thể khởi động máy chủ. Liên kết trên cổng TCP/IP. Địa chỉ đã được sử dụng hoặc Không thể khởi động máy chủ. Liên kết trên ổ cắm unix. Nhìn thấy Bạn không có quyền ghi vàoshell> cd mysql_installation_directory shell> bin/safe_mysqld &0 Nếu bạn không có quyền ghi để tạo tệp ổ cắm ở vị trí mặc định (trong shell> cd mysql_installation_directory shell> bin/safe_mysqld &0) hoặc quyền tạo tệp tạm thời trong shell> cd mysql_installation_directory shell> bin/safe_mysqld &2, bạn sẽ gặp lỗi khi chạy mysql_install_db hoặc khi bắt đầu hoặc sử dụng mysqld Bạn có thể chỉ định một ổ cắm khác và thư mục tạm thời như sau shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &4 Nhìn thấy shell> cd mysql_installation_directory shell> bin/safe_mysqld &3 phải là đường dẫn đến một số thư mục mà bạn có quyền ghi. Xem Phụ lục E Sau này, bạn sẽ có thể chạy mysql_install_db và khởi động máy chủ bằng các lệnh này shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &5mysqld gặp sự cố ngay lập tức Nếu bạn đang chạy RedHat Phiên bản 5. 0 với phiên bản glibc cũ hơn 2. 0. 7-5, bạn nên đảm bảo rằng bạn đã cài đặt tất cả các bản vá glibc. Có rất nhiều thông tin về điều này trong kho lưu trữ thư MySQL. Liên kết đến kho lưu trữ thư có sẵn trực tuyến tại http. // danh sách. mysql. com/. Cũng thấy Bạn cũng có thể khởi động mysqld theo cách thủ công bằng tùy chọn --skip-grant-tables và tự thêm thông tin đặc quyền bằng mysql shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &6 Từ mysql, thực hiện thủ công các lệnh SQL trong mysql_install_db. Đảm bảo rằng bạn chạy mysqladmin flush-privileges hoặc mysqladmin reload sau đó để yêu cầu máy chủ tải lại các bảng cấp Sự cố Khởi động máy chủ MySQLNếu bạn định sử dụng các bảng hỗ trợ giao dịch (InnoDB, BDB), trước tiên bạn nên tạo một bảng my. cnf và đặt tùy chọn khởi động cho các loại bảng bạn định sử dụng. Xem Chương 7 Nói chung, bạn khởi động máy chủ mysqld theo một trong những cách sau
Khi trình nền mysqld khởi động, nó sẽ thay đổi thư mục thành thư mục dữ liệu. Đây là nơi nó muốn ghi các tệp nhật ký và tệp pid (ID tiến trình) và nơi nó muốn tìm cơ sở dữ liệu Vị trí thư mục dữ liệu được cố định khi phân phối được biên dịch. Tuy nhiên, nếu mysqld muốn tìm thư mục dữ liệu ở đâu đó khác với vị trí thực sự của nó trên hệ thống của bạn, nó sẽ không hoạt động bình thường. Nếu bạn gặp sự cố với các đường dẫn không chính xác, bạn có thể tìm hiểu những tùy chọn mà mysqld cho phép và những cài đặt đường dẫn mặc định bằng cách gọi mysqld với tùy chọn --help. Bạn có thể ghi đè các giá trị mặc định bằng cách chỉ định tên đường dẫn chính xác làm đối số dòng lệnh cho mysqld. (Các tùy chọn này cũng có thể được sử dụng với safe_mysqld. ) Thông thường, bạn chỉ cần cho mysqld biết thư mục cơ sở mà MySQL được cài đặt trong đó. Bạn có thể làm điều này với tùy chọn --basingir. Bạn cũng có thể sử dụng --help để kiểm tra tác động của việc thay đổi tùy chọn đường dẫn (lưu ý rằng --help phải là tùy chọn cuối cùng của lệnh mysqld). Ví dụ shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &7 Sau khi bạn xác định cài đặt đường dẫn mình muốn, hãy khởi động máy chủ mà không cần tùy chọn --help Cho dù bạn sử dụng phương pháp nào để khởi động máy chủ, nếu nó không khởi động đúng cách, hãy kiểm tra tệp nhật ký để xem bạn có thể tìm ra nguyên nhân không. Các tệp nhật ký được đặt trong thư mục dữ liệu (thường là shell> cd mysql_installation_directory shell> bin/safe_mysqld &4 đối với bản phân phối nhị phân, shell> cd mysql_installation_directory shell> bin/safe_mysqld &5 đối với bản phân phối nguồn và shell> cd mysql_installation_directory shell> bin/safe_mysqld &6 trên Windows). Tìm trong thư mục dữ liệu các tệp có tên dạng shell> cd mysql_installation_directory shell> bin/safe_mysqld &7 và shell> cd mysql_installation_directory shell> bin/safe_mysqld &8 trong đó host_name là tên của máy chủ lưu trữ của bạn. Sau đó kiểm tra vài dòng cuối cùng của các tập tin này shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &8 Hãy tìm một cái gì đó như sau trong tệp nhật ký shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &9 Điều này có nghĩa là bạn đã không bắt đầu mysqld với --bdb-no-recover và Berkeley DB đã tìm thấy điều gì đó không ổn với các tệp nhật ký của nó khi nó cố khôi phục cơ sở dữ liệu của bạn. Để có thể tiếp tục, bạn nên di chuyển tệp nhật ký Berkeley DB cũ từ thư mục cơ sở dữ liệu sang một nơi khác, nơi bạn có thể kiểm tra nó sau này. Các tệp nhật ký được đặt tên là shell> cd mysql_installation_directory shell> bin/safe_mysqld &9, trong đó số lượng sẽ tăng theo thời gian Nếu bạn đang chạy mysqld với hỗ trợ bảng BDB và kết xuất lõi mysqld khi bắt đầu thì điều này có thể là do một số vấn đề với nhật ký khôi phục BDB. Trong trường hợp này, bạn có thể thử khởi động mysqld với --bdb-no-recover. Nếu điều này hữu ích, thì bạn nên xóa tất cả các tệp shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &00 khỏi thư mục dữ liệu và thử khởi động lại mysqld Nếu bạn gặp lỗi sau, điều đó có nghĩa là một số chương trình khác (hoặc máy chủ mysqld khác) đang sử dụng cổng TCP/IP hoặc ổ cắm mysqld đang cố sử dụng shell> scripts/mysql_install_db0 Sử dụng ps để đảm bảo rằng bạn không có máy chủ mysqld nào khác đang chạy. Nếu bạn không thể tìm thấy một máy chủ khác đang chạy, bạn có thể thử thực hiện lệnh telnet your-host-name tcp-ip-port-number và nhấn Enter một vài lần. Nếu bạn không nhận được thông báo lỗi như telnet. Không thể kết nối với máy chủ từ xa. Kết nối bị từ chối, có gì đó đang sử dụng cổng TCP/IP mà mysqld đang cố sử dụng. Xem và Nếu mysql hiện đang chạy, bạn có thể tìm hiểu xem nó đang sử dụng cài đặt đường dẫn nào bằng cách thực hiện lệnh này shell> scripts/mysql_install_db1 hoặc shell> scripts/mysql_install_db2 Nếu bạn nhận được Errcode 13, có nghĩa là Quyền bị từ chối, khi khởi động mysqld, điều này có nghĩa là bạn không có quyền đọc/tạo tệp trong cơ sở dữ liệu MySQL hoặc thư mục nhật ký. Trong trường hợp này, bạn nên khởi động mysqld với tư cách là người dùng root hoặc thay đổi quyền đối với các tệp và thư mục liên quan để bạn có quyền sử dụng chúng Nếu safe_mysqld khởi động máy chủ nhưng bạn không thể kết nối với nó, bạn nên đảm bảo rằng bạn có một mục nhập trong shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &01 giống như thế này shell> scripts/mysql_install_db3 Sự cố này chỉ xảy ra trên các hệ thống không có thư viện chuỗi hoạt động và MySQL phải được định cấu hình để sử dụng MIT-pthread Nếu bạn không thể khởi động mysqld, bạn có thể thử tạo một tệp theo dõi để tìm ra sự cố. Nhìn thấy Nếu bạn đang sử dụng các bảng InnoDB, hãy tham khảo các tùy chọn khởi động dành riêng cho InnoDB. Nhìn thấy Nếu bạn đang sử dụng bảng BDB (Berkeley DB), bạn nên tự làm quen với các tùy chọn khởi động BDB cụ thể khác nhau. Nhìn thấy Tự động bắt đầu và dừng MySQLmysql. tập lệnh máy chủ và safe_mysqld có thể được sử dụng để khởi động máy chủ tự động khi khởi động hệ thống. mysql. máy chủ cũng có thể được sử dụng để dừng máy chủ mysql. tập lệnh máy chủ có thể được sử dụng để bắt đầu hoặc dừng máy chủ bằng cách gọi nó bằng các đối số bắt đầu hoặc dừng shell> scripts/mysql_install_db4 mysql. máy chủ có thể được tìm thấy trong thư mục shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &02 trong thư mục cài đặt MySQL hoặc trong thư mục shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &03 của cây nguồn MySQL Trước mysql. máy chủ khởi động máy chủ, nó thay đổi thư mục thành thư mục cài đặt MySQL, sau đó gọi safe_mysqld. Bạn có thể cần chỉnh sửa mysql. máy chủ nếu bạn có bản phân phối nhị phân mà bạn đã cài đặt ở vị trí không chuẩn. Sửa nó thành cd vào đúng thư mục trước khi nó chạy safe_mysqld. Nếu bạn muốn máy chủ chạy với tư cách người dùng cụ thể, hãy thêm dòng người dùng thích hợp vào tệp shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &04, như được hiển thị sau trong phần này mysql. dừng máy chủ làm hỏng máy chủ bằng cách gửi tín hiệu đến nó. Bạn có thể gỡ xuống máy chủ theo cách thủ công bằng cách thực hiện tắt máy mysqladmin Bạn có thể muốn thêm các lệnh bắt đầu và dừng này vào các vị trí thích hợp trong tệp shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &05 của mình khi bắt đầu sử dụng MySQL cho các ứng dụng sản xuất. Lưu ý rằng nếu bạn sửa đổi mysql. máy chủ, sau đó nâng cấp MySQL đôi khi, phiên bản đã sửa đổi của bạn sẽ bị ghi đè, vì vậy bạn nên tạo một bản sao của phiên bản đã chỉnh sửa để có thể cài đặt lại Nếu hệ thống của bạn sử dụng shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &06 để bắt đầu tập lệnh bên ngoài, bạn nên thêm phần sau vào hệ thống shell> scripts/mysql_install_db5 Bạn cũng có thể thêm tùy chọn cho mysql. máy chủ trong tệp shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &04 toàn cầu. Một tệp shell> cd mysql_installation_directory shell> ./bin/mysql_install_db shell> ./bin/safe_mysqld --user=mysql &04 điển hình có thể trông như thế này Mục đích của mysql_install_db là gì?Mục đích của chương trình mysql_install_db là để khởi tạo thư mục dữ liệu, bao gồm các bảng trong cơ sở dữ liệu hệ thống mysql . Nó không ghi đè lên các bảng đặc quyền MySQL hiện có và nó không ảnh hưởng đến bất kỳ dữ liệu nào khác. Để tạo lại các bảng đặc quyền của bạn, trước tiên hãy dừng máy chủ mysqld nếu nó đang chạy.
Khởi tạo cơ sở dữ liệu nghĩa là gì?Khi bạn khởi tạo cơ sở dữ liệu, bạn xóa tất cả dữ liệu (bao gồm dữ liệu ứng dụng và danh mục cơ sở dữ liệu) và tất cả các mục nhật ký khỏi ổ đĩa . Tuy nhiên, cấu hình của cơ sở dữ liệu (tham số cơ sở dữ liệu, định nghĩa ổ đĩa, v.v.) vẫn được giữ lại.
Khởi tạo gì sau khi cài đặt MySQL?Sau khi cài đặt MySQL, thư mục dữ liệu phải được khởi tạo, bao gồm các bảng trong cơ sở dữ liệu hệ thống mysql. Đối với một số phương pháp cài đặt MySQL, việc khởi tạo thư mục dữ liệu là tự động, như được mô tả trong Chương 9, Thiết lập và kiểm tra sau cài đặt.
Làm cách nào để truy xuất cơ sở dữ liệu trong MySQL?Máy chủ Windows . Mở một dấu nhắc lệnh Chuyển đến thư mục bin MySQL, cd "C. \Tệp chương trình\MySQL\Máy chủ MySQL 5. 6\bin" hoặc. "C. \Tệp chương trình\MySQL\Máy chủ MySQL 5. 7\bin" Khôi phục cơ sở dữ liệu. Hành hình. mysql -u whd -p whd < C. \whdbackup. sql Nhập mật khẩu người dùng cơ sở dữ liệu whd nếu được nhắc nhập mật khẩu cơ sở dữ liệu |