源码mysql5.7安装过程_mysql5.7 源码安装步骤
操作系統(tǒng):centos 7
說明:以下都是root用戶操作的。
一、數(shù)據(jù)庫安裝
1、查看系統(tǒng)是否有舊版的mysql
# rpm -qa |egrep -i 'mysql|mariadb'
如果有的話請先卸載,卸載命令:
# rpm -ev 軟件包名稱
2、查看老版本mysql相關(guān)的安裝目錄:
# find / -name mysql
有的話就刪掉
3、創(chuàng)建/data/mysql目錄用于存放mysql軟件包,并下載軟件包
4、解壓軟件包并重命名
# cd /data/mysql
# tar zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
# mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql-5.7.24
5、創(chuàng)建mysql用戶(如果原來已經(jīng)存在該用戶,可以繼續(xù)使用,也可以重新刪除創(chuàng)建,刪除用戶命令: userdel -r mysql)
# groupadd mysql
# useradd-r -s /sbin/nologin -g mysql mysql
# getent passwd mysql #該命令用于查看是否成功創(chuàng)建mysql用戶
mysql:x:986:1001::/home/mysql:/sbin/nologin
7、修改/etc/my.cf文件
[mysqld]
skip-name-resolve
basedir=/data/mysql/mysql-5.7.24 #新添加的,用于mysql初始化的時候去找相應(yīng)的lib庫等等。datadir=/data/mysql/mysql-5.7.24/data #原配置修改的,存放數(shù)據(jù)的目錄
socket=/data/mysql/mysql-5.7.24/mysql.sock #原配置修改的,mysql的sock文件
# Disabling symbolic-links isrecommended to prevent assorted security risks
symbolic-links=0# Settings user and group are ignored when systemdisused.
# If you need to run mysqld under a different user or group,
# customize your systemd unit fileformariadb according to the
# instructionsin http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/data/mysql/mysql-5.7.24/mysql.err-log #原配置修改的,mysql錯誤日志存放路徑
character-set-server=utf8 #添加的,指定字符編碼
pid-file=/data/mysql/mysql-5.7.24/mysql.pid #原配置修改的,指定pid
#
# include all filesfromthe config directory
#!includedir /etc/my.cnf.d
或者:
[mysqld]
server-id=1
max_connections=3000
basedir = /data1/hadoop/mysql
datadir = /data1/hadoop/mysql/data
port = 3306
secure_file_priv=/data1/hadoop/mysql/data
query_cache_type=1
query_cache_size=120M
query_cache_min_res_unit=4096
character_set_server=utf8
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
general_log=ON
slow_query_log=1
long_query_time=2
log-error=/data1/hadoop/mysql/logs/mysql.err
log_bin=/data1/hadoop/mysql/logs/mysql-bin
slow-query-log-file=/data1/hadoop/mysql/logs/slowquery.log
socket = /data1/hadoop/mysql/mysql.sock
symbolic-links=0
pid-file=/data1/hadoop/mysql/mysql.pid
[client]
socket=/data1/hadoop/mysql/mysql.sock
default-character-set=utf8
[mysql]
default-character-set=utf8
7、創(chuàng)建數(shù)據(jù)目錄,日志目錄等并授權(quán)
# cd /data/mysql/mysql-5.7.24# mkdir data
# touch {mysql.sock,mysql.err-log,mysql.pid}
# chmod755 data/ mysql.err-log mysql.pid mysql.sock
# chown-R mysql:mysql /data/mysql/mysql-5.7.24
8、數(shù)據(jù)庫初始化
# cd /data/mysql/mysql-5.7.24/bin/
# ./mysqld --initialize --user=mysql --basedir=/data/mysql/mysql-5.7.24 --datadir=/data/mysql/mysql-5.7.24/data
注:localhost:后面生成的是數(shù)據(jù)庫的密碼,請保存下來。
9、后臺啟動
# ./mysqld_safe --user=mysql &
10、查看進程,以確定是否啟動成功
# ps -ef |grep mysql
11、測試連接
# ./mysql -uroot -p
Enter password: # 剛剛生成的那個隨機密碼
在這里出錯了,報錯如下:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 提示找不到sock文件,在這里的話就去/etc/my.cnf文件里面把socket這一行改成/tmp/mysql.sock吧,如下:
socket=/tmp/mysql.sock
然后重新啟動mysql,就可以正常進入到數(shù)據(jù)庫了。
12、修改環(huán)境變量
每次進入數(shù)據(jù)庫都要去bin目錄執(zhí)行對應(yīng)的腳本,所以,這里設(shè)置環(huán)境變量更方便一點
# vim ~/.bashrc
文件最后添加如下兩行:
export MYSQL_HOME=/data/mysql/mysql-5.7.24/
export PATH=$PATH:${MYSQL_HOME}/bin
# source ~/.bashrc
13、配置mysql的啟動
# cp /data/mysql/mysql-5.7.24/support-files/mysql.server /etc/init.d/mysql
# vim /etc/init.d/mysql
修改如下兩行的值,這兩行默認(rèn)為空。
以后就可以通過/etc/init.d/mysql start方式啟動數(shù)據(jù)庫了
好了,基本安裝就算完成了。
二、數(shù)據(jù)庫修改密碼和授權(quán)
修改數(shù)據(jù)庫密碼,剛剛生成的密碼不太好記,所以我們這里修改一個自己熟悉的比較好記的密碼,我這里測試,密碼就設(shè)置的比較簡單,生成環(huán)境建議設(shè)置的復(fù)雜一些;
第一種修改root密碼的方式:(用mysqladmin命令行工具)
# mysqladmin -uroot -p '舊密碼' password '新密碼'
例:mysqladmin -uroot -p 'Pnh=?_Edg2+V' password '123456'
第二種方式:(登錄數(shù)據(jù)庫,用set password方式)
mysql> set password for 用戶名@localhost = password('新密碼');
例:mysql>set password for root@localhost = password('123');
第三種方式:(用update直接修改user表)
mysql>use mysql;
mysql>update user set password=password('1234') where user='root' and host='localhost';
mysql>flush privileges;
第四種方法:如果剛剛生成的隨機密碼忘記了怎么辦?
解決:
# mysqld --skip-grant-tables #啟動mysql服務(wù)的時候跳過權(quán)限表認(rèn)證。注:這個窗口不會關(guān)閉,需要重新開啟另外一個端口進行操作,執(zhí)行這個命令的時候我這里報錯了,如下:
[ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
解決:打開/etc/my.cnf,在mysqld下面添加user=mysql就ok
在另外一個端口執(zhí)行mysql進入數(shù)據(jù)庫控制臺
# mysql
mysql>use mysql
mysql>update user set password=password("123456789") where user="root";
mysql>flush privileged
2、遠程授權(quán)
進入數(shù)據(jù)庫
# mysql-u root -p
mysql>grant all privileges on *.* to 'root'@'%' identified by '123' with grant option;
mysql>flush privileges;
總結(jié)
以上是生活随笔為你收集整理的源码mysql5.7安装过程_mysql5.7 源码安装步骤的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: csinsmnt.exe进程的作用介绍
- 下一篇: 数据库提示:正在还原中,无法访问 应该怎