首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Linux 安裝 MySQL glibc 版本完整教學:從下載到服務配置

     編輯:MySQL 綜合教學

前言

在 Linux 系統上安裝 MySQL 時,選擇 glibc 版本的二進制包是最快捷、依賴最少的方式。本文以 MySQL 5.0.90 為例,詳細記錄從下載、解壓、建立用戶、初始化數據目錄、設置權限、配置字符集、啟用遠程訪問,到註冊系統服務的完整流程,並附帶常見錯誤排查與實用操作備忘錄。

一、下載與準備

前往 MySQL 官方歸檔頁面 https://downloads.mysql.com/archives.php,選擇對應版本,務必下載標註 glibc 的包,例如:mysql-5.0.90-linux-i686-glibc23.tar.gz。建議將安裝包存放在 /usr/local/src 等固定目錄,避免放在 /media 等臨時掛載點。

二、建立專用用戶與組

$ sudo groupadd mysql
$ sudo useradd -g mysql mysql

三、解壓並部署

$ cd /usr/local
$ sudo tar zxvf /usr/local/src/mysql-5.0.90-linux-i686-glibc23.tar.gz
$ sudo mv mysql-5.0.90-linux-i686-glibc23 mysql
$ cd mysql

四、設置目錄權限並初始化數據庫

$ sudo chown -R mysql .
$ sudo chgrp -R mysql .
$ scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql
$ cd ..
$ sudo chown -R root mysql
$ cd mysql
$ sudo chown -R mysql data

五、啟動 MySQL 服務

$ bin/mysqld_safe --basedir=/usr/local/mysql --user=mysql &

此時 MySQL 已在後台運行。若需停止,可另開終端執行 bin/mysqladmin -u root shutdown。

六、為 root 用戶設置密碼

$ cd /usr/local/mysql/bin
$ ./mysql -u root

進入 MySQL 後執行:

mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'your_password';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;

再次登錄驗證:

$ ./mysql -u root -p
Enter password: your_password

檢查用戶表,發現 root@linux 和 root@127.0.0.1 仍為空密碼,需補全:

mysql> SET PASSWORD FOR root@linux = PASSWORD('your_password');
mysql> SET PASSWORD FOR root@127.0.0.1 = PASSWORD('your_password');
mysql> FLUSH PRIVILEGES;

七、註冊為系統服務

$ sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
$ sudo /etc/init.d/mysql start

重啟機器測試服務是否自啟。

八、配置字符集(UTF-8)

編輯 /etc/my.cnf(若不存在,從 support-files/my-huge.cnf 複製一份重命名):

[client]
default-character-set = utf8

[mysqld]
default-character-set = utf8
init_connect = 'SET NAMES utf8'

重啟服務:

$ sudo /etc/init.d/mysql restart

驗證:

mysql> SHOW VARIABLES LIKE 'character%';

輸出應全部顯示 utf8。

九、開啟遠程訪問

預設僅允許本地連接。登錄 MySQL 後執行:

mysql> USE mysql;
mysql> UPDATE user SET host = '%' WHERE user = 'root' AND host = 'localhost';
mysql> FLUSH PRIVILEGES;

若報錯 Duplicate entry '%-root' for key 1,改用帶條件的 UPDATE 語句即可。

十、解決 libmysqlclient_r.so.15 缺失

若應用報錯 ImportError: libmysqlclient_r.so.15: cannot open shared object file,執行:

$ sudo cp /usr/local/mysql/lib/libmysqlclient_r.so.15 /usr/lib/

十一、常用操作備忘錄

服務管理

# 重啟
$ sudo /etc/init.d/mysql restart
# 停止
$ sudo /etc/init.d/mysql stop

非服務模式啟停

# 啟動
$ cd /usr/local/mysql
$ bin/mysqld_safe --basedir=/usr/local/mysql --user=mysql &
# 停止
$ bin/mysqladmin -u root -p'your_password' shutdown

命令行中文亂碼

mysql> SET NAMES utf8;

數據庫存放路徑

/var/lib/mysql(或安裝時指定的 datadir)

備份與還原

# 導出
$ mysqldump db_name > dump.sql
# 建庫
$ mysqladmin create db_name
# 導入
$ mysql db_name < dump.sql

修改 root 密碼

$ sudo mysqladmin -u root -p password 'new_password'
# 或在 MySQL 內:
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD('new_password') WHERE User='root';
mysql> FLUSH PRIVILEGES;

忘記 root 密碼

$ sudo /etc/init.d/mysql stop
$ sudo mysqld_safe --skip-grant-tables &
$ sudo mysqladmin -u root password 'new_password'
$ sudo mysqladmin flush-privileges

指定主機登錄

$ ./mysql -u root -h 127.0.0.1 -p

安全初始化腳本

$ bin/mysql_secure_installation

按提示依次設置 root 密碼、移除匿名用戶、禁止 root 遠程登錄、刪除 test 庫、刷新權限。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved