linux下安裝mysql5.7

下載解壓後,放到 /webserver/mysql中 注意,glibc版本的Mysql,不是編譯版的,是直接編譯好的,相當於windows的綠色版
CentOS默認yum源已經沒有mysql-server了.而用mariadb代替,而2個數據庫衝突,所以要安裝mysql,要先卸載mariadb

建立mysql相關的用戶和組:
 
[root@server local]#groupadd mysql
[root@server local]#useradd -s /sbin/nologin -g mysql mysql
添加不用登陸的用戶
useradd -s /sbin/nologin <new username>

linux在創建用戶是將用戶默認的shell指定爲/sbin/nologin即可阻止用戶登錄,命令爲
useradd user -s /sbin/nologin,其中-s指定用戶的默認shell
如果用戶已經存在於系統,用root身份修改/etc/passwd文件,將要阻止的用戶的shell改爲/sbin/nologin

創建 數據保存文件夾
mkdir /webserver//mysql-5.7.10-linux-glibc2.5-x86_64/data/

初始化數據

bin/mysqld --user=mysql --basedir=/webserver/mysql-5.7.10-linux-glibc2.5-x86_64/ --datadir=/webserver/mysql-5.7.10-linux-glibc2.5-x86_64/data/ --initialize


在初始化時如果加上 --initial-insecure,則會創建空密碼的 root@localhost 賬號
--secure-file-priv 指定密碼文件夾位置 對應文件夾下就會有  .mysql_secret 文件(5.6以前) 之後的會在log中提示

 A temporary password is generated for root@localhost: 6D3Fi_bjFZtn
 
初始化完畢

啓動mysql服務和添加開機啓動mysql服務:
添加開機啓動:執行命令cp support-files/mysql.server /etc/init.d/mysql,把啓動腳本放到開機初始化目錄
啓動mysql服務:執行命令service mysql start
執行命令:ps -ef|grep mysql 看到mysql服務說明啓動成功

錯誤

/etc/init.d/mysql: line 256: my_print_defaults: command not found
/etc/init.d/mysql: line 276: cd: /usr/local/mysql: No such file or directory
Starting MySQLCouldn't find MySQL server (/usr/local/mysql/[FAILED]ld_safe)

解決
在mysqld 添加配置文件
basedir =/webserver/mysql-5.7.10-linux-glibc2.5-x86_64/
datadir =/webserver/mysql-5.7.10-linux-glibc2.5-x86_64/data

登錄mysql 出現找不到socket 
在 My.cnf 中 添加[client]
socket=/var/lib/mysql/mysql.sock 跟實際中的一樣
然後重啓服務

登錄
mysql -u root -p  登錄成功後修改密碼
修改密碼的命令5.7版本和其他版本不同,自己去查


重新登錄即可。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章