centos7-安裝mysql5.6.36


本地安裝了mysql5.7, 但和springboot整合jpa時會出現 hibernateException, 不知道為什么, 換個mysql5.6版本的mysql,  源碼安裝, cmake一直過不去, 后來改成rpm安裝

1, 獲取mysql5.6

ftp://ftp.mirrorservice.org/sites/ftp.mysql.com/Downloads/MySQL-5.6/

下載: 

解壓: 

其中  el6標識 centos 6, el7 標識centos 7

 

2, 安裝

rpm -ivh MySQL-*

如果缺少依賴, 可以掛載centos的本地yum源解決 (https://www.cnblogs.com/wenbronk/p/9357471.html)

如果提示沖突, 使用 rpm -e xxx --nodes 卸載就可以

3, 啟動, 通過netstat -nltp 查看端口監聽( 老版本是 mysqld 服務)

systemctl start mysql

4, 查看初始密碼

cat /root/.mysql_secret

5, 更改密碼

mysql -uroot -pKAKt5JmEjm6B8omV
SET PASSWORD = PASSWORD('root');

 6, 遠程登陸設置

mysql> user mysql;
mysql> select host, user, password from user;
mysql> update user set password=password('root') where user='root';
mysql> update user set host='%' where user='root' and host='localhost';

授權
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '這里是你的密碼' WITH GRANT option;
必須刷新
flush privileges;

7, 設置開機啟動

[root@localhost ~]# chkconfig mysql on
[root@localhost ~]# chkconfig --list | grep mysql

8, MySQL的默認安裝位置

/var/lib/mysql/               #數據庫目錄
/usr/share/mysql              #配置文件目錄
/usr/bin                     #相關命令目錄
/etc/init.d/mysql              #啟動腳本

9, 修改默認字符集等

vim /etc/my.cnf

[client]  
password        = root
port            = 3306  
default-character-set=utf8  
[mysqld]  
port            = 3306  
character_set_server=utf8  
character_set_client=utf8  
collation-server=utf8_general_ci  
#(注意linux下mysql安裝完后是默認:表名區分大小寫,列名不區分大小寫; 0:區分大小寫,1:不區分大小寫)  
lower_case_table_names=1  
#(設置最大連接數,默認為 151,MySQL服務器允許的最大連接數16384; )  
max_connections=1000  
[mysql]  
default-character-set = utf8  

10, 查看字符集

show variables like '%collation%';  
show variables like '%char%';

 

源碼安裝: 

1, 下載依賴

yum install gcc-c++
yum -y install ncurses-devel
wget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz
tar -zxv -f /root/cmake-2.8.4.tar.gz
cd cmake-2.8.4
./configure

make && make install

2, 創建mysql 用戶和用戶組, 創建目錄

groupadd mysql
useradd mysql -s /sbin/nologin -M -g mysql

 

  mkdir -p /app/mysql-5.5.32/data
  mkdir -p /app/mysql-5.5.32/tmp

3.  獲取mysql

wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.38.tar.gz

解壓, 並編譯安裝

cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql-5.6.38 \  #安裝路徑
-DMYSQL_DATADIR=/app/mysql-5.6.38/data \                #數據文件路徑
-DMYSQL_UNIX_ADDR=/app/mysql-5.6.38/tmp/mysql.sock \  #sock路徑
-DMYSQL_USER=mysql \
-DDEFAULT_CHARSET=utf8 \                                           #默認的字符集
-DDEFAULT_COLLATION=utf8_general_ci \                       #默認的校對規則
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \                   #額外支持的字符集
-DENABLED_LOCAL_INFILE=ON \                                   #打開LOCAL_INFILE功能
#開啟支持多種引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITHREADLINE=1 \
-DWITHEMBEDDED_SERVER=1 \
-DWITH_DEBUG=0

make && make install

# 注意去掉所有注釋, 並無bom格式

5, 復制參數文件

cp /app/mysql-5.6.38/support-files/my-small.cnf /etc/my.cnf

6, 配置環境變量

echo 'export PATH=/app/mysql-5.6.38/bin:$PATH' >> /etc/profile
tail -1 /etc/profile
source /etc/profile
echo $PATH

7, 更改用戶組權限

chown -R mysql.mysql /app/mysql-5.5.32

8, 執行數據庫初始化腳本

./mysql_install_db --basedir=/app/mysql-5.5.32 --datadir=/app/mysql-5.5.32/data --user=mysql

9, 將mysql 加入系統啟動

cp /app/mysql-5.5.32/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

10, 啟動

/etc/init.d/mysqld start
netstat -lntup | grep 3306

 11, 設置用戶, 賦予權限等

3, 創建新用戶並授權

https://www.cnblogs.com/sos-blue/p/6852945.html 

https://www.cnblogs.com/xujishou/p/6306765.html

異常: 

1, CMake Error: The source directory "/root/mysql-5.5.29-linux2.6-x86_64" does not appear to contain CM

  下載的包不是源碼包

2, 清空cmake, 重新編譯

# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf

 

配置mysq忽略大小寫: 

vi /etc/my.cnf中加入lower_case_table_names = 1

 

mysql 5.7 的安裝: 

1), 需要安裝的包

2), 修改用戶名添加權限等

https://www.cnblogs.com/daemon-/p/9009360.html

a, 修改不需要密碼登陸, 修改/etc/my.cnf

[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密碼驗證
skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# skip-grant-tables
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

b, 登陸mysql

mysql -u root -p

直接回車就可登陸

c, 修改密碼

>>update user set authentication_string=password('你的密碼') where user='root';

>>flush privileges;

>>exit;

d, 將/etc/my.cnf中的skip-grant-tables刪除

e, 登錄再次設置密碼(不知道為啥如果不再次設置密碼就操作不了數據庫了)

如果報錯: 

https://www.cnblogs.com/ivictor/p/5142809.html

/usr/local/mysql/bin/mysql -u root -p

 >>ALTER USER 'root'@'localhost' IDENTIFIED BY '修改后的密碼';

>>exit;

f, 加入開機啟動

# 將mysql加入服務

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

# 開機自啟

chkconfig mysql on

# 開啟

service mysql start


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM