1. 程式人生 > >linux centos7下原始碼 tar安裝mysql5.7.22或mysql5.7.20 圖文詳解

linux centos7下原始碼 tar安裝mysql5.7.22或mysql5.7.20 圖文詳解

之前用的rpm安裝的每次安裝都是最新的,,,導致每次版本不統一。。。

現在用tar包安裝5.7.22和5.7.20一樣的   5.7.20之後的和之前的版本還是有點不一樣的

1.   cd /usr/local/src
 wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

解壓     tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz       

複製     cp -r mysql-5.7.22-linux-glibc2.12-x86_64   /usr/local/mysql

2、新增系統mysql組和mysql使用者 

新增系統mysql組     groupadd mysql

新增mysql使用者 useradd -r-g mysql mysql 新增完成後可用id mysql檢視

3、安裝資料庫

切到mysql目錄 cd /usr/local/mysql

修改當前目錄擁有者為mysql使用者 chown -R mysql:mysql ./

安裝資料庫 bin/mysqld--initialize--user=mysql--basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

生成了臨時密碼

(看到有的報這個錯
bin/mysqld: error while loading shared libraries: libaio.so.1:

cannot open shared object file: No such file or directory

解決方法:yum install -y libaio  //安裝後在初始化就OK了)

執行以下命令建立RSA private key 

  bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

修改當前目錄擁有者為mysql使用者 chown -R mysql:mysql ./

修改當前data目錄擁有者為mysql使用者 chown -R mysql:mysql data

4、配置my.cnf

vim /etc/my.cnf 

   (直接把下面內容複製上就行)

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
#不區分大小寫 (sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 這個簡單來說就是sql語句是否嚴格)
lower_case_table_names = 1
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid

新增開機啟動     cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

修改   vim /etc/init.d/mysqld   

新增路徑 在46行   

 basedir=/usr/local/mysql
 datadir=/usr/local/mysql/data

5、啟動mysql   service mysqld start 

 加入開機起動    chkconfig --add mysqld  

6、登入修改密碼 mysql -uroot -p 上面初始化時的密碼

如果出現錯誤 需要新增軟連線  ln -s /usr/local/mysql/bin/mysql /usr/bin

第一件事先修改密碼

alter user 'root'@'localhost' identified by 'root';   
flush privileges;    #重新整理許可權
GRANT ALL PRIVILEGES ON *.* TO 'root1'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;   #授權新使用者