# 安裝相關軟件 yum install -y gcc gcc-c++ openssl openssl-devel ncurses ncurses-devel make cmake # 獲取MySQL源碼,MySQL版本下載連接:https://dev.mysql.com/downloads/mysql/ wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.13.tar.gz tar zxvf mysql-8.0.13.tar.gz cd mysql-8.0.13 # 添加操做系統的MySQL用戶 groupadd -r mysql mkdir -p /data/mysql/data chown -R mysql.mysql /data/mysql/data/ # 添加配置文件目錄 mkdir -p /etc/mysql chown -R mysql.mysql /etc/mysql # 編譯MySQL mkdir -p /data/mysql chown -R mysql.mysql /data/mysql # -DCMAKE_INSTALL_PREFIX:指定安裝目錄 # -DMYSQL_DATADIR:數據文件存放位置 # -DSYSCONFDIR:配置文件目錄 # -DDOWNLOAD_BOOST:實時下載boost # -DWITH_BOOST:下載boost保存目錄 cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql -DMYSQL_DATADIR=/data/mysql/data -DSYSCONFDIR=/etc/mysql -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/data/mysql/boost make make install # 對安裝錄更改用戶權限 chown root.mysql -R /data/mysql/ # 安裝完成後,進入安裝目錄中,對mysql進行初始化操做 cd /data/mysql bin/mysqld --initialize # 拷貝服務腳本,賦權限並添加到啓動列表中 cp support-files/mysql.server /etc/rc.d/init.d/mysqld chmod +x /etc/rc.d/init.d/mysqld chkconfig --add mysqld # 修改配置文件 vi /etc/mysql/my.cnf 輸入: [mysqld] basedir = /data/mysql datadir = /data/mysql/data port = 3306 server_id = 1 socket = /tmp/mysql.sock user = mysql [client] port = 3306 socket = /tmp/mysql.sock # 啓動服務 bin/mysqld & 至此MySQL已經安裝完成了,接下來是一些優化的操做 # 配置環境變量 echo "export PATH=/data/mysql/bin:$PATH" >/etc/profile.d/mysql.sh source /etc/profile.d/mysql.sh # 刪除系統安裝完成後產生的匿名用戶並給root設置密碼 # 若登陸mysql時,忘記了用戶密碼能夠在啓動mysqld服務時加--skip-grant-tables便可直接登陸: mysqld --skip-grant-tables & # 登陸mysql mysql -uroot -hlocalhost -p # 刪除全部匿名用戶,如下是刪除的命令 drop user 'username'@'localhost'; # 給用戶設定密碼的兩種方式 1. UPDATE user SET password = PASSWORD('your_password') WHERE user = 'username'; FLUSH PRIVILEGES; 2. SET PASSWORD FOR root@localhost = PASSWORD('your_password'); # 建立用戶並受權用戶 create user 'username'@'localhost' identified by 'your_password'; create database database_name default character set = 'utf8' default collate = 'utf8_general_ci'; grant all privileges on database_name.* to 'username'@'localhost'; flush privileges;