mysql數據庫源碼安裝

Mysql數據庫採用源碼安裝mysql

[root@server ~]# wget -c http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17.tar.gz
[root@server ~]# tar -zxf mysql-5.7.17.tar.gz
[root@server ~]# cd mysql-5.7.17
[root@server mysql-5.7.17]# yum install cmake ncurses-devel -y
[root@server mysql-5.7.17]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \        #指定套間字路徑
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \                               #設置字符集
-DDEFAULT_COLLATION=utf8_general_ci \                  #設置字符校驗集
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost                           #指定Boost擴展源碼路徑

---------------------------------------------------------------sql

CMake Warning:數據庫

  Manually-specified variables were not used by the project:vim


    WITH_MEMORY_STORAGE_ENGINEdom

    WITH_READLINEsocket



-- Build files have been written to: /root/mysql-5.7.17ide

---------------------------------------------------------------ui

出現上面的結果表示預編譯成功!server

[root@server mysql-5.7.17]# make -j grep 'processor' /proc/cpuinfo | wc -l 
[root@server mysql-5.7.17]# make -j grep 'processor' /proc/cpuinfo | wc -l install

檢查系統是否已經有mysql用戶,若是沒有則建立
ip

[root@server mysql-5.7.17]# cat /etc/passwd | grep mysql
[root@server mysql-5.7.17]# cat /etc/group | grep mysql

建立mysql用戶(可是不能使用mysql帳號登錄系統)

[root@server mysql-5.7.17]# groupadd mysql
[root@server mysql-5.7.17]# useradd -g mysql -s /sbin/nologin  mysql

修改權限

[root@server mysql-5.7.17]# chown -R mysql:mysql /usr/local/mysql
[root@server mysql-5.7.17]# cp /usr/local/mysql/support-files/my-default.cnf  /etc/my.cnf
[root@server mysql-5.7.17]# vim /etc/my.cnf
###################
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
user=mysql
#innodb_force_recovery=6
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-bin=mysql-bin
server-id = 1
auto_increment_offset=1
auto_increment_increment=2
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/usr/local/mysql/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
[root@server mysql-5.7.17]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@server mysql-5.7.17]# vim /etc/init.d/mysqld
#####添加安裝目錄及數據目錄
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
[root@server mysql-5.7.17]# chkconfig --add mysqld
[root@server mysql-5.7.17]# chkconfig --level 35 mysqld on


進入/etc/profile設置環境變量

[root@server mysql-5.7.17]# vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH                  #在末尾添加
[root@server mysql-5.7.17]# source /etc/profile


進入安裝路徑,執行初始化配置腳本,建立系統自帶的數據庫和表

#mysql5.7以前版本初始化配置表命令:

#script/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql/

#mysql5.7已經放棄使用了,並且也沒有script目錄,能夠使用下面這個

#[root@server mysql-5.7.17]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql/


生成的初始密碼位於:

方法一:

[root@server mysql-5.7.17]# grep 'temporary password' /var/log/mysqld.log 
2016-07-08T02:25:46.311098Z 1 [Note] A temporary password is generated for root@localhost: MtPqF0/oN5zo

即初始密碼爲 MtPqF0/oN5zo    (密碼是隨機產生的,每臺機器產生的都不同哦)

方法二:

[root@server mysql-5.7.17]# cat /root/.mysql_secret
# The random password set for the root userat Fri Jan 10 20:00:34 2014 (local time): aJqZsA2m

這裏的aJqZsA2m就是生成的root隨機密碼啦


接下來,啓動數據庫,重設root密碼

[root@server mysql-5.7.17]#  /etc/init.d/mysqld start
[root@server mysql-5.7.17]#  mysql  -uroot  -p
Enter password:                                      # 輸入剛剛的隨機密碼連接數據庫
mysql>  ALTER USER 'root'@'localhost' IDENTIFIED BY  '新密碼';
相關文章
相關標籤/搜索