Linux源码安装Mysql5.7
1.下載軟件包
進入到mysql官網下載自己對應版本的mysql,
下載地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
我這里下載mysql-5.7.30-linux-glibc2.12-x86_64.tar版本
將下載好的源碼壓縮包上傳至:/home目錄下
(新建虛擬機時磁盤沒有規劃,導致home目錄磁盤空間比較大,所以將mysql安裝在home目錄下)
2.檢查卸載
安裝前,我們可以檢測系統是否自帶安裝 MySQL:
如有,類似 mysql-libs-5.1.52-1.el6_0.1.x86_64那可以選擇進行卸載:
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 // 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它文件,則用該命令可以對其進行強力刪除檢查否存在 mariadb 數據庫,如有,卸載之,卸載同上
[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
進入 /home, 解壓源碼文件,并重新命名mysql-5.7
(2)創建數據文件mkdir data
[root@localhost homel]# cd mysql-5.7 [root@localhost mysql-5.7]#mkdir data(3)檢查mysql組和用戶是否存在,如無創建
[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以上為存在的情況,如無,執行添加命令: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參數表示mysql用戶是系統用戶,不可用于登錄系統
(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目錄下創建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 #數據庫連接閑置最大時間值為30分鐘 wait_timeout=1800 #禁止MySQL對外部連接進行DNS解析 skip-name-resolve#innodb_additional_mem_pool_size=100M#thread_concurrency=32 #MySql讀入緩沖區大小 read_buffer_size=4M #臨時表的大小為32M tmp_table_size=32M#max_allowed_packet = 500M explicit_defaults_for_timestamp=true #關閉大小寫 lower_case_table_names=1#innodb_flush_log_trx_commit=0#log-error=/home/mysqld.log#interactive_timeout=216000 #wait_timeout=216000 #二進制日志自動刪除的天數 #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文件
進入/home/mysql-5.7/support-files目錄修改mysql.server,修改內容如下找到mysqld_pid_file_path=修改MySQL的安裝路徑及數據路徑
(7)把啟動腳本放到開機初始化目錄。
進入/home/mysql-5.7/support-files目錄下執行cp mysql.server /etc/init.d/mysql
(8)初始化 mysqld
進入到/home/mysql-5.7執行./bin/mysqld --initialize --user=mysql --basedir=/home/mysql-5.7/ --datadir=/home/mysql-5.7/data/
(9)找出初始密碼
初始化完成之后進入/home/mysql-5.7/data,查看cat mysqld.log日志找出隨機生成mysql數據庫登錄的臨時密碼
找出臨時密碼:2022-01-21T14:02:28.293469Z 1 [Note] A temporary password is generated for root@localhost: s7kh.#l8%O6p密碼就是:s7kh.#l8%O6p 記住密碼隨后登陸需要
(10)啟動mysql服務
service mysql start
(11)登錄mysql
進入/home/mysql-5.7/bin執行./mysql -u root -p登錄mysql,密碼為初始密碼
配置文件中的socket路徑做下軟連接
(12)修改密碼
set password=password(‘密碼’);
(13)授權root權限使得外部地址使用root登陸
grant all privileges on . to root@’%’ identified by ‘123456’;
(14)刷新權限:flush privileges;
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)(15)聲明環境變量
[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
總結
以上是生活随笔為你收集整理的Linux源码安装Mysql5.7的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上海工程技术大学c语言商店存货管理系统,
- 下一篇: mysql源码解读——MVCC