Linux源码安装Mysql5.7
1.下載軟件包
進(jìn)入到mysql官網(wǎng)下載自己對(duì)應(yīng)版本的mysql,
下載地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
我這里下載mysql-5.7.30-linux-glibc2.12-x86_64.tar版本
將下載好的源碼壓縮包上傳至:/home目錄下
(新建虛擬機(jī)時(shí)磁盤(pán)沒(méi)有規(guī)劃,導(dǎo)致home目錄磁盤(pán)空間比較大,所以將mysql安裝在home目錄下)
2.檢查卸載
安裝前,我們可以檢測(cè)系統(tǒng)是否自帶安裝 MySQL:
如有,類似 mysql-libs-5.1.52-1.el6_0.1.x86_64那可以選擇進(jìn)行卸載:
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64 // 普通刪除模式 rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64 // 強(qiáng)力刪除模式,如果使用上面命令刪除時(shí),提示有依賴的其它文件,則用該命令可以對(duì)其進(jìn)行強(qiáng)力刪除檢查否存在 mariadb 數(shù)據(jù)庫(kù),如有,卸載之,卸載同上
[root@localhost home]# rpm -qa | grep mariadb如有,類似mariadb-libs-5.5.56-2.el7.x86_64
則 卸載rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
3.安裝
(1)安裝源文件版本:mysql-5.7.30-linux-glibc2.12-x86_64.tar
進(jìn)入 /home, 解壓源碼文件,并重新命名mysql-5.7
(2)創(chuàng)建數(shù)據(jù)文件mkdir data
[root@localhost homel]# cd mysql-5.7 [root@localhost mysql-5.7]#mkdir data(3)檢查mysql組和用戶是否存在,如無(wú)創(chuàng)建
[root@localhost mysql-5.7]# cat /etc/group | grep mysql #類似 mysql:x:490: [root@localhost mysql-5.7]# cat /etc/passwd | grep mysql #類似 mysql:x:496:490::/home/mysql:/bin/bash以上為存在的情況,如無(wú),執(zhí)行添加命令:groupadd mysql 和 useradd -r -g mysql mysql
[root@localhost mysql-5.7]# groupadd mysql [root@localhost mysql-5.7]# useradd -r -g mysql mysql#useradd -r參數(shù)表示mysql用戶是系統(tǒng)用戶,不可用于登錄系統(tǒng)
(4)將/home/mysql-5.7的所有者及所屬組改為mysql
[root@localhost mysql-5.7]# chown -R mysql.mysql /home/mysql-5.7 [root@localhost mysql-5.7]# chown -R mysql.mysql /home/mysql-5.7/data [root@localhost mysql-5.7]# chown -R mysql /home/mysql-5.7/data [root@localhost mysql-5.7]# chown -R mysql /home/mysql-5.7 [root@localhost mysql-5.7]# chmod -R 755 /home/mysql-5.7(5)在/home/mysql-5.7/support-files目錄下創(chuàng)建my_default.cnf
[mysqldump] user =root password =123456[mysqld] basedir=/home/mysql-5.7 datadir=/home/mysql-5.7/data user = mysql log-bin=/home/mysql-5.7/mysql-bin #binlog-do-db=test #binlog-ignore-db=mysqlserver-id=4 character-set-server=utf8 collation-server=utf8_general_ci max_connections=4096 max_connect_errors = 1024 socket=/home/mysql-5.7/mysql.sock log-error=/home/mysql5.7/mysqld.log pid-file=/home/mysql5.7/mysqld.pidsql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONevent_scheduler=1 back_log=500 #數(shù)據(jù)庫(kù)連接閑置最大時(shí)間值為30分鐘 wait_timeout=1800 #禁止MySQL對(duì)外部連接進(jìn)行DNS解析 skip-name-resolve#innodb_additional_mem_pool_size=100M#thread_concurrency=32 #MySql讀入緩沖區(qū)大小 read_buffer_size=4M #臨時(shí)表的大小為32M tmp_table_size=32M#max_allowed_packet = 500M explicit_defaults_for_timestamp=true #關(guān)閉大小寫(xiě) lower_case_table_names=1#innodb_flush_log_trx_commit=0#log-error=/home/mysqld.log#interactive_timeout=216000 #wait_timeout=216000 #二進(jìn)制日志自動(dòng)刪除的天數(shù) #expire_logs_days=15 #binlog_format=mixed#log-bin-trust-function-creators=1 #event_scheduler = 1#log_timestamps=SYSTEM #innodb_buffer_pool_size = 130023424 innodb_buffer_pool_size=4294967296 #group_concat_max_len = 20480 #sync_binlog = 100拷貝my_default.cnf文件到/etc/my.cnf如果提示是否覆蓋,y
[root@localhost support-files]# cp my_default.cnf /etc/my.cnf cp:是否覆蓋"/etc/my.cnf"? y(6)修改mysql.server文件
進(jìn)入/home/mysql-5.7/support-files目錄修改mysql.server,修改內(nèi)容如下找到mysqld_pid_file_path=修改MySQL的安裝路徑及數(shù)據(jù)路徑
(7)把啟動(dòng)腳本放到開(kāi)機(jī)初始化目錄。
進(jìn)入/home/mysql-5.7/support-files目錄下執(zhí)行cp mysql.server /etc/init.d/mysql
(8)初始化 mysqld
進(jìn)入到/home/mysql-5.7執(zhí)行./bin/mysqld --initialize --user=mysql --basedir=/home/mysql-5.7/ --datadir=/home/mysql-5.7/data/
(9)找出初始密碼
初始化完成之后進(jìn)入/home/mysql-5.7/data,查看cat mysqld.log日志找出隨機(jī)生成mysql數(shù)據(jù)庫(kù)登錄的臨時(shí)密碼
找出臨時(shí)密碼:2022-01-21T14:02:28.293469Z 1 [Note] A temporary password is generated for root@localhost: s7kh.#l8%O6p密碼就是:s7kh.#l8%O6p 記住密碼隨后登陸需要
(10)啟動(dòng)mysql服務(wù)
service mysql start
(11)登錄mysql
進(jìn)入/home/mysql-5.7/bin執(zhí)行./mysql -u root -p登錄mysql,密碼為初始密碼
配置文件中的socket路徑做下軟連接
(12)修改密碼
set password=password(‘密碼’);
(13)授權(quán)root權(quán)限使得外部地址使用root登陸
grant all privileges on . to root@’%’ identified by ‘123456’;
(14)刷新權(quán)限:flush privileges;
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)(15)聲明環(huán)境變量
[root@localhost home] vim /etc/profile #末尾添加一行 export PATH=$PATH:/home/mysql-5.7/bin[root@localhost home] source /etc/profile參考文檔:
https://blog.csdn.net/iT_MaNongking/article/details/104453370
總結(jié)
以上是生活随笔為你收集整理的Linux源码安装Mysql5.7的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 上海工程技术大学c语言商店存货管理系统,
- 下一篇: 关于高校房产管理系统中主要管理模块都有哪