手動安裝MySQL
1. 環境准備
1.2 准備環境
系統: CentOS8
安裝包: mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz 點擊下載
1.2 清理環境
清理之前安裝的軟件或者有沖突的軟件包
# rpm -qa |grep mariadb # rpm -qa |grep mysql //刪除命令 # dnf remove xxxxxx
1.3 安裝依賴
dnf install libaio-devel
2. 添加mysql用戶與用戶組
2.1 添加mysql
useradd mysql -s /sbin/nologin
2.2 檢查是否添加成功
# id mysql uid=1001(mysql) gid=1004(mysql) groups=1004(mysql)
3. 設置mysql目錄
3.1 分別設置mysql安裝目錄、數據存放目錄、日志存放目錄
# mkdir -p /mysql/app /mysql/data /mysql/binlog
//添加mysql用戶權限
# chown mysql.mysql -R /mysql
3.2 將tar文件釋放到app目錄
tar xvf mysqlmysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /mysql/app
//為了方便操作可以將解壓目錄重命名,或者放到app目錄,當然軟鏈接也可以。我選擇放到根目錄
# mv /mysql/app/mysqlmysql-5.7.28-linux-glibc2.12-x86_64/* /mysql/app
4. 設置環境變量
//編輯 /etc/profile文件,在末尾添加 export PATH=$PATH:/mysql/app/bin
更新環境變量: source /etc/profile
5. 初始化系統表
mysqld --initialize-insecure --user=mysql --basedir=/mysql/app --datadir=/mysql/data
//如果不能正常執行,看文章末尾 排錯。
6. 編寫配置文件
添加配置文件/etc/my.cnf
[mysqld] user=mysql basedir=/mysql/app datadir=/mysql/data server_id=8 port=3306 socket=/tmp/mysql.sock [mysql] socket=/tmp/mysql.sock
7. 啟動mysqld
7.1 添加mysqld服務
cp /mysql/app/support-file/mysql.server /etc/init.d/mysqld
7.2 啟動msyqld服務
# service mysqld start
7.3 也可以使用systemd啟動mysqld
# chkconfig --add mysqld
# systemctl start mysqld
//chkconfig --add在CentOS8中會自動添加chkconfig xxxxx on --設置服務開機啟動 chkconfig xxxxx off --取法服務開機啟動
8. 登陸mysql
初始化完成后,默認使用root用戶並且是空密碼登陸。
直接敲mysql,可以通過 socket登陸
也可以通過mysqladmin修改密碼
# mysqladmin -u xxxx -p password xxxxxx
排錯
問題1: not find libncurses.so.5
解決: ln -s /lib64/libncurses.so.5 /lib64/libncurses.so.6
(造成這個問題的原因是CentOS8中找不到這個文件 ,可能是由於這個文件被新的文件替換掉了,所以我將找到的so.6連接到了so.5,還有其它幾個一樣的問題,都是通過將6連接到5解決)